我有一个使用 Facebook 登录的 android 应用程序。我的问题是:如果我从 ADT 安装应用程序一切正常,我可以通过 Facebook 应用程序和 webview 登录,但如果我从 Playstore 下载应用程序,我将无法通过 Facebook 应用程序登录(虽然我可以如果我卸载 Facebook 应用程序,则通过 webview 登录)。
现在,我想知道即使安装了 Facebook 应用程序,是否可以通过 webview 强制登录。或者如何使它双向工作。
谢谢!
如果您使用Facebook LoginButton
登录,那么您可以使用网络对话框登录。做这个:
LoginButton login = (LoginButton) view.findViewById(R.id.login_button);
login.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
(我试过这段代码,FacebookSDK 4.5 版)
使用自定义登录按钮强制 WebView 登录:
LoginManager.getInstance().setLoginBehavior(LoginBehavior.WEB_ONLY)
另外,你可以在下面
LoginManager.getInstance().setLoginBehavior(LoginBehavior.NATIVE_ONLY)
您可以禁用单点登录,然后您将只有 webview 登录。
但你为什么要这样做?SSO 对您的用户来说更容易。
为了使 SSO 工作,您需要使用您在 Play 商店中签署 Android 应用程序的密钥配置您的 Facebook 应用程序。参见例如Android-Facebook 应用程序的密钥哈希