让 Android 应用忘记 Facebook 登录

Make Android app forget Facebook login

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

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

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

编辑

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

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

您可以通过转至 facebook.com -> 设置 --> 应用程序撤销授予特定应用程序的访问权限,然后根据需要进行编辑。

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

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

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

这将撤销您授予该应用程序的 Facebook 用户权限,下次您在您的应用程序中使用 Facebook 登录时,它会请求权限。

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