1

ShareLink内容代码

ShareLinkContent content = new ShareLinkContent.Builder()
                        .setContentUrl(Uri.parse(shareUrl))
                        .setContentTitle(shareTitle)
                        .build();

分享我试过的对话框代码

一个。使用共享对话框对象

ShareDialog dialog = new ShareDialog(this);
dialog.show(content, ShareDialog.Mode.AUTOMATIC); //tried other 4 modes too

湾。使用静态访问

ShareDialog.show(this, content);

现在的问题是,它在摩托罗拉、三星、Pixel、联想等所有普通手机上都运行良好。

但是相同的代码在 Redmi 设备中引起了奇怪的行为。当我单击调用此代码的按钮时,键盘和共享对话框出现,在那里停留几毫秒然后消失。

我应该有什么特别的东西来处理 MI 设备中的 Facebook 对话框吗?

有一个创建自定义对话框的选项,但我想将其保留为最后一个选项。

编辑

Facebook Like 按钮也是如此。

这是Facebook喜欢按钮的代码

facebookLikeView.setObjectIdAndType("https://www.facebook.com/StartupScribble/", LikeView.ObjectType.PAGE);

此代码在除 Redmi 设备之外的大多数设备中也能完美运行。

4

2 回答 2

6

我在开发应用程序时遇到了同样的问题。我的问题是 Facebook 应用程序仍处于开发人员模式。在设备上登录的 Facebook 帐户未作为管理员、开发人员或测试人员添加到 Facebook 应用程序。

该帐户无权访问该应用程序,并且共享对话框在出现后几乎立即关闭。当我使用正确的 Facebook 帐户登录时,这个问题就解决了。

测试您的应用程序时,将它们置于开发模式。这将完全隐藏您的应用程序,让所有您未在应用程序仪表板中授权查看应用程序的用户查看应用程序,角色如下所述。请注意,当您的应用处于开发模式时,您不能代表看不到您应用的用户调用任何 API 调用。

上面的文字来自facebook-documentation,他们在其中解释了更多关于角色的信息。

于 2017-03-04T10:42:00.427 回答
2

另一个原因是由于原生 android facebook 应用程序的版本中存在错误179.0.0.44.83,在此版本中,由于 Native Facebook 应用程序中的内部错误,ShareDialog 将无法工作。

于 2018-07-10T11:15:34.143 回答