ShareDialog shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
Toast.makeText(SharePage.this, "ok", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
Toast.makeText(SharePage.this, error.getMessage(), Toast.LENGTH_LONG).show();
}
});
SharePhoto photo = new SharePhoto.Builder().setBitmap(bm).setCaption(description).build();
SharePhotoContent content = new SharePhotoContent.Builder().addPhoto(photo).build();
shareDialog.show(content);
运行以下代码。
如果我的手机中有 facebook 应用程序,则可以成功分享照片。
但如果我删除 Facebook 应用程序,callbackManager 将返回错误“无法通过网络或 Facebook 应用程序的已安装版本显示提供的内容。某些对话框仅支持从 API 14 开始。
”
最佳答案
仅当您的设备中安装了 native Facebook 应用程序时,您才能显示此对话框。在安装了 Facebook 应用程序的设备中尝试相同的代码,它会起作用。 如果您想制作自定义对话框,您需要
-Build a custom interface that posts to the Graph API endpoint /me/feed
-Implement Facebook Login in your app
-Request the publish_actions permission when people log into your app
以下是从您自己的界面发布 Facebook 链接的代码:
ShareApi.share(content, null);
如果您需要任何帮助,请告诉我。 如果有帮助,请将此答案标记为已接受。
关于android - 使用 facebook sdk 4.2.0 分享照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30843786/