如果应用程序已经授权 facebook sdk android 应用程序,则不显示权限窗口

Posted

技术标签:

【中文标题】如果应用程序已经授权 facebook sdk android 应用程序,则不显示权限窗口【英文标题】:Do not display permission window if app already authorized facebook sdk android app 【发布时间】:2014-04-23 17:19:25 【问题描述】:

我的应用中有 Facebook 登录功能。现在一切正常。我唯一担心的是,当应用程序已经获得授权时,这意味着所有权限都已被授予。我不想显示“您已经授权此应用程序”的窗口。有没有办法做到这一点?

现在这是我的 Auth Button 的设置。

LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
authButton.setFragment(this);
authButton.setReadPermissions(Arrays.asList("basic_info", "email", "user_birthday"));
authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);

另外一个我不想显示的原因是,有时当我在登录后进入权限屏幕时,加载对话框需要一段时间才能关闭。有时它甚至没有关闭。我不知道这是一个错误还是我做错了什么。有任何想法吗?谢谢!

【问题讨论】:

我明白了。关于为什么有时权限屏幕加载对话框需要一段时间才能关闭的任何想法? 【参考方案1】:

我也在我的一个应用程序中使用 FB SDK。也许如果我与您分享我的应用程序中 SDK 的行为,您将能够确定它是否是设计使然。

FB SDK 只会在您登录应用程序时给您该消息,并且它不知道您之前是否登录过。第一次登录时,它会询问您是否希望它记住浏览器,或者在您的情况下是应用程序。

一旦您授予它权限并注销您的应用并重新登录,就会立即弹出一个空白窗口,并且登录按钮会显示“注销”。

如果我进入我的 FB 帐户到“设置->应用程序->”并删除该应用程序。它将重现上述行为。

希望对您有所帮助。欢迎询问更多详情。

【讨论】:

我的应用程序有相同的行为。现在我的问题是,一旦获得授权,是否有办法跳过许可部分。但我认为这是设计使然。现在我一直想要解决的唯一问题是权限部分,加载对话框需要一段时间才能关闭。有什么想法吗? 除非我丢失了 OATH 数据,否则它不会询问我。就像我上面说的,一个空白窗口会暂时弹出,但仅此而已。我唯一一次看到您描述的消息是我卸载我的应用程序并重新安装它。除此之外,我没有收到该消息。另外,我通过卸载 FB 应用程序然后重新安装它来测试它。行为相似。不知道为什么你每次都看到。 这很奇怪。我正在使用来自 facebook sdk 的教程中的 authButton。我没有添加任何东西。 您所说的登录按钮负责处理后台的 OAUTH 内容。您是否在手机/设备上安装了 Facebook 应用? 我删除了这一行 authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);这会迫使用户不使用 facebook 应用程序。

以上是关于如果应用程序已经授权 facebook sdk android 应用程序,则不显示权限窗口的主要内容,如果未能解决你的问题,请参考以下文章

iOS Facebook SDK:您已经授权应用程序后出现空白屏幕?

Swift:登录时是不是可以避免 Facebook SDK 4.x “您已经授权此应用程序”对话框?

如何通过本机Facebook授权登录Facebook?

Facebook iOS SDK 3.2.1 授权/确认授权时的空白对话框

IOS SWIFT:你已经授权了facebook ios

facebook iOS sdk 自定义委托和 SSO 授权