Android:Android SDK 与 Facebook for Android 应用程序之间的冲突

标签 android facebook

我有一个使用 Facebook Android SDK 的应用程序。一切正常(Facebook 登录、点赞功能),直到我安装了适用于 Android 的 Facebook 第 3 方应用程序。

如果没有第 3 方应用程序,我在选择登录 Facebook 时会获得 WebView。但是安装了 Facebook 应用程序后,用户将被定向到 FB 应用程序进行登录(我相信它会启动该应用程序的 Activity )。

有没有办法阻止我的应用程序使用第 3 方应用程序执行我在应用程序上执行的任何与 Facebook 相关的操作,并且仅使用 SDK 中的 WebView 进行登录?

提前致谢。

最佳答案

好吧,仔细阅读Facebook SDK的源代码并查看authorize方法,找到了我的答案。

发现这不是冲突,但这就是它的工作方式。 Facebook SDK 更喜欢单点登录(如果可用),这意味着它肯定会使用 Facebook for Android 应用程序进行登录。

为了回答问题(如何防止应用程序使用第3方应用程序),这就是我所做的:

mFacebook.authorize(context,
                new String[] { "user_photos", "friends_photos", "publish_stream" },
                -1, 
                (DialogListener) dialogListener);

我刚刚添加了第三个参数,即 ActivityCode。 Facebook SDK 检查该值是否大于或等于零,并使用单点登录。

现在我知道理想且首选的方法是使用 Facebook SSO 方法。

关于Android:Android SDK 与 Facebook for Android 应用程序之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5401410/

相关文章:

android - Android webView中 `webView.getSolidColor();`有什么用?

android - 使用服务解析json数据

java - 将文件图像文件复制到可绘制文件时出现错误

java - 更改用户在 Facebook 上的显示名称

javascript - 如何从另一个 javascript 调用 javascript 函数,其中两者都在同一个 html 上

php - OpenID 和 FB 连接教程

java - 使用 scribe oauth facebook 的空指针异常

java - 如何获取其他应用程序的日志?

Android 版本代码以编程方式

android - UnknownError : ApiException:Key hash **** does not match. .. 当我安装 FB 应用程序时