ShareLinkContent代码
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设备之外的大多数设备中也能完美运行。
答案 0 :(得分:4)
我在开发应用时遇到了同样的问题。我的问题是Facebook-app仍处于开发者模式。登录在设备上的Facebook帐户未作为管理员,开发人员或测试人员添加到Facebook应用程序。
该帐户无权访问该应用,并且出现后几乎立即关闭了共享对话框。 当我使用正确的Facebook帐户登录时,这已得到解决。
测试应用时,请将其置于开发模式。这会完全隐藏您未在App Dashboard中授权的所有用户查看应用程序,以了解下面描述的角色。请注意,当您的应用处于开发模式时,您无法代表无法看到您应用的用户拨打任何API电话。
以上文字来自facebook-documentation,他们在那里解释了有关角色的更多信息。
答案 1 :(得分:2)
另一个原因是由于179.0.0.44.83
版本的本地android facebook应用程序中存在错误,在此版本中,由于本地Facebook应用程序中存在内部错误,ShareDialog将无法工作。