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将返回错误“Unable to show the provided content via the web or the installed version of the Facebook app. Some dialogs are only supported starting API 14.
”
答案 0 :(得分:3)
如果您的设备中安装了原生Facebook应用,则只能显示此对话框。在安装了Facebook应用程序的设备中尝试使用相同的代码。#xA;如果要创建自定义对话框,则需要
&#xA;&#xA; - 建立一个自定义界面,发布到Graph API端点/ me / feed&#xA; - 在您的应用中实施Facebook登录&#xA; - 当人们登录你的应用程序时请求发布__;
&#xA;&#xA; 以下是从你自己的界面发布Facebook链接的代码:
&#xA;&#xA; ShareApi.share(content,null);&#xA;
&#xA;&#xA; 告诉我如果您需要任何帮助。&#xA;如果有帮助,请接受此答案。
&#xA;