【问题标题】:Facebook share dialog not working correctly in MI devicesFacebook 共享对话框在 MI 设备中无法正常工作
【发布时间】:2017-07-16 03:02:47
【问题描述】:

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

b.使用静态访问

ShareDialog.show(this, content);

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

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

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

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

编辑

Facebook Like 按钮也是如此。

这是 Facebook 点赞按钮的代码

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

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

【问题讨论】:

  • 检查您的 Facebook 链接数据。大多数情况下,这会导致 Facebook 分享对话框消失。

标签: android facebook-sdk-4.0 facebook-share redmi-device


【解决方案1】:

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

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

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

以上文字来自facebook-documentation,他们在其中详细解释了角色。

【讨论】:

  • 哇!这很奇怪。巧合的是,我所有的测试设备都有我的 FB 帐户,而我从朋友那里得到的所有反馈都有 MI 设备。所以我什至想不出这个开发者和生产标准。我认真地觉得,FB 指南集成这些按钮的文档有链接到提到批准和发布的文档。感谢您的帮助。
【解决方案2】:

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

【讨论】:

  • 我也面临同样的问题。有什么解决办法吗? @Attila Nyers
  • @A2N 解决方案是两种之一,要么强制对话框在网络中,要么 facebook 修复此错误并发布新版本
  • @KhalidTaha 是的。两者都发生了。 FB 已在 v180 中修复了此错误,并且我添加了侦听器以获取错误事件并打开 web。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多