我正在使用Facebook Android SDK 4. +通过在应用程序中单击按钮来共享照片。
当用户单击按钮时,它将打开Facebook共享照片页面。发布照片后,我要显示提示框,告诉您照片已成功发布。
我一直在用这个
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(bitmap)
.build();
SharePhotoContent content = new SharePhotoContent.Builder()
.addPhoto(photo)
.setShareHashtag(new ShareHashtag.Builder()
.setHashtag(hastag).build())
.build();
ShareDialog.show(SellingActivity.this,content);
在sharedialog.show之后放置警报框似乎没有用。单击按钮后最终显示出来,然后显示Facebook分享照片页面。
最佳答案
如果您使用这种共享方法ShareDialog.show(SellingActivity.this,content);
,将不会有任何回调。看那里的文件-
/**
* Helper to show the provided {@link com.facebook.share.model.ShareContent} using the provided
* Fragment. No callback will be invoked.
*
* @param fragment android.support.v4.app.Fragment to use to share the provided content
* @param shareContent Content to share
*/
public static void show(
final Fragment fragment,
final ShareContent shareContent) {
show(new FragmentWrapper(fragment), shareContent);
}
如果要回调,则必须使用CallbackManager,并且需要注册回调。
总结以下是您需要做的-
创建CallbackManager
CallbackManager callbackManager = CallbackManager.Factory.create();
创建ShareDialog
ShareDialog shareDialog =新的ShareDialog(活动或片段);
注册回调
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
覆盖onActivityResult
@Override
public void onActivityResult(int requestCode,int resultCode,Intent data {
super.onActivityResult(requestCode,resultCode,data); callbackManager.onActivityResult(requestCode,resultCode,data);
}
关于android - 在Facebook SDK上发布后显示警报框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49291368/