让Android应用忘记Facebook登录

时间:2015-03-23 13:21:10

标签: android facebook-graph-api android-facebook

我在我的Android应用中集成了Facebook登录功能。起初它要求权限(App想要访问你的公开个人资料和电子邮件地址......)并登录我。我想再次测试一下,但无论我做什么,当我点击我在Facebook上的登录按钮时应用程序,它让我登录。

我尝试卸载我的应用,清除Facebook的缓存和数据。我知道这是标准行为,但是当我在我的应用程序中使用Facebook登录时,我希望Facebook再次请求许可,这样我就可以模拟并确保当我在Google Play上发布应用程序时它会起作用。有什么想法吗?

4 个答案:

答案 0 :(得分:4)

为每个用户保存这些设置。您无法撤消任何人的权限,这意味着用户需要自行取消对您应用的授权。

在Facebook或Facebook应用中进入设置 - >帐户设置 - >应用程序(彩色框图标) - >登录Facebook。在这里找到您的应用,点击它,然后点击删除应用。

这将取消您向Facebook用户提供应用的权限,下次您在应用中使用Facebook登录时,它会要求权限。

答案 1 :(得分:1)

您可以转到facebook.com - >撤消对特定应用的访问权限。设置 - >应用程序,然后编辑你想要的任何内容。

要以编程方式执行此操作,您可以查看此链接
Revoke FB Permission

答案 2 :(得分:0)

如果您使用的是Facebook SDK,则只需在应用的LoginManager.getInstance().logout()方法中调用onStop()方法即可注销。他们关闭当前会话,因此用户必须再次登录您的应用程序。

修改

如果你想再次要求获得许可,你应该再次询问=) 在documentation之后: 只需获取当前权限 Session.getActiveSession().getPermissions(); 并通过创建Session.NewPermissionsRequest

再次请求他们
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, CURRENT_PERMISSION_ARRAY);
session.requestNewReadPermissions(newPermissionsRequest);

答案 3 :(得分:-1)

我遇到了同样的问题,并尝试了几乎所有尝试,直到我意识到我使用Chrome浏览器在Facebook中登录一次,并且我的应用程序从浏览器缓存中找到了我的登录信息。因此,打开浏览器并访问facebook.com,它会立即使我登录,然后按注销,然后我的应用程序就可以正常工作了。