点击 Facebook 登录按钮后 Facebook 登录对话框消失

Posted

技术标签:

【中文标题】点击 Facebook 登录按钮后 Facebook 登录对话框消失【英文标题】:Facebook Login dialog disappears after clicking on Facebook sign in button 【发布时间】:2019-12-08 10:02:57 【问题描述】:

我的 Facebook 登录按钮有问题。我已经实现了此链接https://developers.facebook.com/docs/facebook-login/android/ 中的所有步骤,并且它在我的Kitkat 手机上正常工作,但是当我在Oreo 手机上尝试它时,选择 Facebook 帐户的对话框在单击登录按钮后立即消失并我不明白为什么。 Facebook 应用程序存在于两部手机上。

当我点击登录按钮时,我在Logcat 中得到了这些行

2019-12-08 14:49:39.002 8929-8929/com.example.testforgooglesignin W/InputMethodManager: startInputReason = 8

2019-12-08 14:49:39.015 8929-8929/com.example.testforgooglesignin W/IInputConnectionWrapper: getExtractedText on inactive InputConnection

2019-12-08 14:49:39.020 8929-8929/com.example.testforgooglesignin W/IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection

2019-12-08 14:49:39.303 8929-8929/com.example.testforgooglesignin V/ActivityThread: Finishing stop of ActivityRecord5207081 token=android.os.BinderProxy@eb8182a com.example.testforgooglesignin/com.example.testforgooglesignin.MainActivity

2019-12-08 14:49:44.099 8929-8929/com.example.testforgooglesignin V/ActivityThread: Handle window ActivityRecord5207081 token=android.os.BinderProxy@eb8182a com.example.testforgooglesignin/com.example.testforgooglesignin.MainActivity visibility: false

这是Manifest中的代码

<meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id" />

    <activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name" />
    <activity
        android:name="com.facebook.CustomTabActivity"
        android:exported="true">
        <intent-filter><action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="@string/fb_login_protocol_scheme" />
        </intent-filter>
    </activity>

谁能帮帮我?

提前致谢。

编辑

我通过将privacy policy 添加到 Facebook 应用程序并将应用程序的状态设置为生产状态来解决了这个问题。

【问题讨论】:

当问题出现时,您可以添加一些代码来查看或记录消息吗? 帖子已编辑 【参考方案1】:

由于您的设备上安装了 Facebook 应用,并且您按照帖子中提到的教程链接进行操作,因此您似乎已启用单点登录。您可以尝试如下设置登录按钮的登录行为

LoginBehavior mLoginBehavior =LoginBehavior.DIALOG_ONLY;
mLoginButton.setLoginBehavior(mLoginBehavior);

这将避免 SSO 并强制对话登录。

【讨论】:

好的,但行为与Kitkat 电话不同,我不需要这种行为,我需要在我的应用程序中打开登录对话框 同样的问题再次出现,点击Lollipop及以上手机上的登录按钮后对话框立即消失,仅适用于Kitkat 更新后的答案将允许您打开 Web 对话框并登​​录。您面临的问题是由于 SSO。您还可以尝试其他 LoginBehavior 选项,看看哪些对您有用。 我通过添加隐私策略并将应用程序的状态设置为生产来解决它。感谢您的帮助 请编辑您的帖子,说明您是如何解决的。

以上是关于点击 Facebook 登录按钮后 Facebook 登录对话框消失的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 登录 Parse.com 的最低权限

iOS 版 Facebook 登录

如何以不同的人身份发布到 Facebook 墙上

如果用户取消 Facebook 登录,如何返回应用程序?

解析 Facebook 登录弹出两次

令牌过期后的Android Facebook登录