Android 使用facebook sdk 4.2.0共享照片 ShareDialog ShareDialog=新建ShareDialog(此); registerCallback(callbackManager,newfacebookcallback()){ @凌驾 成功时公开作废(共享结果){ Toast.makeText(SharePage.this,“ok”,Toast.LENGTH_SHORT.show(); } @凌驾 公开作废{ } @凌驾 public void onError(facebook异常错误){ Toast.makeText(SharePage.this,error.getMessage(),Toast.LENGTH_LONG.show(); } }); SharePhoto photo=new SharePhoto.Builder().setBitmap(bm).setCaption(description).build(); SharePhotoContent内容=新建SharePhotoContent.Builder().addPhoto(photo.build(); 显示(内容);

Android 使用facebook sdk 4.2.0共享照片 ShareDialog ShareDialog=新建ShareDialog(此); registerCallback(callbackManager,newfacebookcallback()){ @凌驾 成功时公开作废(共享结果){ Toast.makeText(SharePage.this,“ok”,Toast.LENGTH_SHORT.show(); } @凌驾 公开作废{ } @凌驾 public void onError(facebook异常错误){ Toast.makeText(SharePage.this,error.getMessage(),Toast.LENGTH_LONG.show(); } }); SharePhoto photo=new SharePhoto.Builder().setBitmap(bm).setCaption(description).build(); SharePhotoContent内容=新建SharePhotoContent.Builder().addPhoto(photo.build(); 显示(内容);,android,facebook,share,Android,Facebook,Share,下面的代码正在运行。 如果我在手机上安装了facebook应用程序,那就是成功分享照片。 但是,如果我删除facebook应用程序,callbackManager将返回错误“无法通过web或已安装版本的facebook应用程序显示提供的内容。只有在启动API 14时才支持某些对话框。”只有在设备中安装了本机facebook应用程序时,才能显示此对话框。在安装了facebook应用程序的设备上尝试相同的代码,它将正常工作。 如果要创建自定义对话框,需要 ShareDialog shareDialo

下面的代码正在运行。 如果我在手机上安装了facebook应用程序,那就是成功分享照片。
但是,如果我删除facebook应用程序,callbackManager将返回错误“
无法通过web或已安装版本的facebook应用程序显示提供的内容。只有在启动API 14时才支持某些对话框。

只有在设备中安装了本机facebook应用程序时,才能显示此对话框。在安装了facebook应用程序的设备上尝试相同的代码,它将正常工作。 如果要创建自定义对话框,需要

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链接的代码:

 -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
如果你需要帮助,请告诉我。
如果有帮助,请将此答案标记为已接受。

如何解决此问题?有人能帮我吗?非常感谢。嗨,弗兰基,你解决这个问题了吗?我在一些设备上有相同的问题,但仍未修复。你能帮忙吗?在过去,我们可以使用WebDialog来分享图像,而不必使用本机facebook应用程序。在facebook sdk 4.0之后,我们不能这样做?你仍然可以使用web对话,但那是用于发布故事的。。其中有链接、标题、名称、描述参数…如果您想使用可用的最新方法。请按照上面的说明操作。。。如果这有帮助,请将此答案标记为已接受:)如果你仍然有问题,请告诉我。在新版sdk中,会话不可用。如何使用web对话框?您可以使用LoginManager使用自定义button进行登录,也可以使用Facebook的默认登录按钮来维护会话。如果你仍然不明白我的意思。使用任何旧的facebook sdk。从你的旧项目中选择并使用会话类。请标记以下答案:)@Hardeep你能在这里分享小代码吗。如何创建内容。
  ShareApi.share(content, null);