|
|
|
Android GridView ขอความช่วยเหลือ ด้วยครับ เกี่ยวกับการแชร์รูปfacebook |
|
|
|
|
|
|
|
ผมจะทำให้แอฟของผม แชร์รูปจาก gridview ที่ผมทำผ่าน facebook ครับ ใช้ Facebook sdk แล้วทีนี้ มันไม่มีอะไรเกิดขึ้นเลย
นี่คือหน้า Image Adapter สำหรับView และส่งค่าไป เพื่อ เปิด รูปเต็มไปอีก Activity
Code (Android-Java)
public class ImageAdapter extends BaseAdapter {
private Context context;
ImageView imageview;
public ImageAdapter(Context context) {
this.context = context;
}
@Override
public int getCount() {
return getImageSD().length;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup viewGroup) {
if (convertView == null) {
imageview = new ImageView(context);
imageview.setPadding(8, 8, 8, 8);
imageview.setLayoutParams(new GridView.LayoutParams(85, 80));
imageview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context, "position[" + position + "]", Toast.LENGTH_SHORT).show();
Intent i = new Intent(context, DisplayImageActivity.class);
i.putExtra("imgId", path[position]);
context.startActivity(i);
}
});
}else{
imageview=(ImageView)convertView;
}
imageview.setImageURI(getImageSD()[position]);
return imageview;
}
Uri[]uri;
String[] path=null;
public Uri[] getImageSD(){
File file = new File(
android.os.Environment.getExternalStorageDirectory()
+ File.separator + AppConstant.PHOTO_ALBUM);
File[] filelist = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return ((name.endsWith(".jpg")||(name.endsWith(".png")||(name.endsWith(".bmp")))));
}
});
path = new String[filelist.length];
for(int i=0;i<filelist.length;i++){
path[i]=filelist[i].getAbsolutePath();
}
uri=new Uri[path.length];
for(int q=0;q<path.length;q++){
uri[q]=Uri.parse(path[q]);
}
return uri;
}
อันนี้ คือหน้า ที่แสดง รูปเต็ม ที่รับ ค่า มาจาก IMage adapter ครับ แล้ว ผม ทำการ ใส่ event ที่ ปุ่ม เพื่อ ให้ มัน แชร์ แต่ติดปัญหาที่ มัน ไม่มี อะไรเกิดขึ้นเลย กด ก็ไม่มีอะไรเกิดขึ้นเลย ครับ สาเหตุเกิดจากอะไรหรอครับ
Code (Android-Java)
public class DisplayImageActivity extends Activity {
Button buttontest;
private Utils utils;
private ViewPager viewPager;
public CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.full_photo);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
final List<String> permissionNeeds = Arrays.asList("publish_actions");
//this loginManager helps you eliminate adding a LoginButton to your UI
final LoginManager manager = LoginManager.getInstance();
manager.logInWithPublishPermissions(this, permissionNeeds);
Bundle bundle=getIntent().getExtras();
//int imgId =bundle.getInt();
String imageId=bundle.getString("imgId");
final Uri uri=Uri.parse(imageId);
ImageView image=(ImageView)findViewById(R.id.ImageView1);
image.setImageURI(uri);
//image.setImageResource();
Button btnclose = (Button)findViewById(R.id.btnClose);
btnclose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
buttontest=(Button)findViewById(R.id.btnShared);
buttontest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
manager.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
sharedPhoto();
}
@Override
public void onCancel() {
Toast.makeText(getApplicationContext(), "Cancle", Toast.LENGTH_SHORT).show();
System.out.println("onCancel");
}
@Override
public void onError(FacebookException exception) {
System.out.println("onError");
}
});
// Toast.makeText(getApplicationContext(), "position[" + uri + "]", Toast.LENGTH_SHORT).show();
}
});
}
public void sharedPhoto(){
/* Bundle bundle=getIntent().getExtras();
String imageId2=bundle.getString("imgId");
Uri uri2=Uri.parse(imageId2);*/
Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.shared_icon);
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(image)
.setCaption("Test FaceBook Api My Apps")
.build();
SharePhotoContent content = new SharePhotoContent.Builder()
.addPhoto(photo)
.build();
ShareApi.share(content, null);
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
Tag : Mobile
|
|
|
|
|
|
Date :
2015-06-23 10:04:16 |
By :
yieldza |
View :
1322 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|