如何在Android上分享图片在Facebook上的位图?
问题描述:
我想通过我的Android应用程序在Facebook上分享图像位图。我尝试了一些谷歌代码,但无法取得成功,这里是我的代码如何在Android上分享图片在Facebook上的位图?
shareButton = (ShareButton) findViewById(R.id.share_btn);
//share dialog
AlertDialog.Builder shareDialog = new AlertDialog.Builder(this);
shareDialog.setTitle("Share Miimoji");
shareDialog.setMessage("Share Miimoji to Facebook?");
shareDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//share the image to Facebook
ByteArrayOutputStream baos = new ByteArrayOutputStream();
mSelectedMiimoji.GetBitmap().compress(Bitmap.CompressFormat.PNG, 20, baos);
SharePhoto photo = new SharePhoto.Builder().setBitmap(mSelectedMiimoji.GetBitmap()).build();
SharePhotoContent content = new SharePhotoContent.Builder().addPhoto(photo).build();
shareButton.setShareContent(content);
counter = 1;
shareButton.performClick();
}
});
shareDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
shareDialog.show();
请帮我。 在此先感谢。
答
尝试一次。
public void ShareDialog() {
Toast.makeText(Complete_Run_Activity.this, "Sharing to Facebook", Toast.LENGTH_SHORT).show();
if (shareDialog.canShow(SharePhotoContent.class)) {
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(bitmap)
.setCaption("Hey... \nI earned by money by running/walking for the charity.")
.build();
SharePhotoContent content = new SharePhotoContent.Builder()
.addPhoto(photo)
.build();
shareDialog.show(content);
dialog1.dismiss();
}
}
也
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try {
callbackManager.onActivityResult(requestCode, resultCode, data);
}catch(Exception e){
e.printStackTrace();
}}
和在onCreate方法
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
Log.e("RESSULT", "Success");
// getAndAddSlots();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
Log.e("RESSULT", "error=" + error.toString());
Toast.makeText(Complete_Run_Activity.this, "Unable to Share Image to Facebook.", Toast.LENGTH_SHORT).show();
}
});
'试图在Facebook上共享的图像的位图'。不要尝试。 Facebook无法处理该位图。如果您需要帮助,请不要事先感谢。 – greenapps