Facebook 用户通过 Facebook SDK - Android 登录后保持登录状态

Posted

技术标签:

【中文标题】Facebook 用户通过 Facebook SDK - Android 登录后保持登录状态【英文标题】:Facebook user is kept logged on after login via Facebook SDK - Android 【发布时间】:2016-10-09 10:39:16 【问题描述】:

我有一个需要创建帐户才能使用它的应用程序。我添加了适用于 android 的 Facebook SDK,以便使用 Login with Facebook 功能。一切正常,但是当用户通过 Facebook 成功登录,然后他从我的应用程序中注销并尝试创建另一个帐户,就在单击登录按钮后,Facebook 说用户已经登录。它应该不是这样,因为我希望多个用户可以在同一部手机上使用该应用程序。

我希望每次用户单击登录按钮时,都应该邀请他登录 Facebook。

是否有会话管理或保持用户登录的东西? 我没有使用任何 AccessToken 来存储用户配置文件或其他可能存储其数据或保持会话打开的东西。

一些想法?提前致谢!

【问题讨论】:

【参考方案1】:

Facebook SDK 的 LoginManager 有一个注销方法来关闭活动会话。

https://developers.facebook.com/docs/reference/android/current/class/LoginManager/

您应该添加一个选项(按钮),而不是在每次应用关闭时以编程方式断开用户连接。每次都必须连接可能会令人讨厌。

这里是如何使用登录按钮处理断开连接

//Check if user is currently logged in
        if (AccessToken.getCurrentAccessToken() != null && com.facebook.Profile.getCurrentProfile() != null)
            //Logged in so show the login button
            fbLogin.setVisibility(View.VISIBLE);
            fbLogin.setOnClickListener(new View.OnClickListener() 
                @Override
                public void onClick(View view) 
//log out
                    LoginManager.getInstance().logOut();
                    gotoLogin();
                
            );
        

学分:surfer190

祝你好运!

【讨论】:

以上是关于Facebook 用户通过 Facebook SDK - Android 登录后保持登录状态的主要内容,如果未能解决你的问题,请参考以下文章

用户是不是需要登录 Facebook 才能通过 Facebook Messenger 分享开放图故事?

Facebook 登录(网络)看不到通过 facebook 设备应用程序登录的用户

Facebook 用户通过 Facebook SDK - Android 登录后保持登录状态

如何通过已知的应用范围用户 ID 访问 Facebook 用户页面

如何在 Firebase Auth 中检查用户是不是通过 Facebook 登录 [重复]

通过图形 API 检索 facebook 用户墙帖子