android - 如何在 Facebook Android SDK V4 中获取当前访问 token ?

标签 android facebook facebook-login facebook-android-sdk facebook-access-token

我想在主 FragmentActivity 中检查用户是否已登录,但尽管用户已登录

AccessToken.getCurrentAccessToken()

返回空值。 我在下面的代码中做错了什么?

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    context = this;          
    FacebookSdk.sdkInitialize(context);
    callbackManager = CallbackManager.Factory.create();
    AccessToken accessToken = AccessToken.getCurrentAccessToken();
    if (accessToken != null) {
        if (!accessToken.isExpired()) {

        }
    }
}

最佳答案

用户如何通过 LoginButton 登录?如果是这样,它将在他们单击登录按钮后发生,因此您检查的位置还为时过早。

如果他们已经登录,那么访问 token 将从磁盘反序列化,但这是一个异步操作,因此 UI 线程不会被阻塞。你刚初始化sdk就去检查,估计异步操作还没有完成。我建议您在加载 AccessToken 时使用 AccessTokenTracker 进行响应。这是一个使用 AccessTokenTracker 的示例供您引用:https://github.com/facebook/facebook-android-sdk/blob/b384c0655fe96db71229bfdcb981a522f3f1e675/samples/Scrumptious/src/com/facebook/scrumptious/usersettings/UserSettingsFragment.java#L75

关于android - 如何在 Facebook Android SDK V4 中获取当前访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29843631/

相关文章:

android - 如何正确分离 Dao 类和业务逻辑类?

java - 在 Firebase 数据库中读取子项时遇到一些问题

iphone - 如何将图像分享到 Facebook?

ios - 使用 iTunes Analytics 跟踪 Facebook 应用安装广告的转化

reactjs - 在 facebook 注销按钮上收到 OVERRIDING ACCESS_TOKEN 警告。这是一周前开始的

facebook-login - 弃用的 Facebook 登录权限

android - 是否可以在凸起的按钮和文本字段之间创建连接?

android - Grails android-gcm 插件安装

facebook - 以用户身份从第三方应用程序向 Facebook 发送请求

使用 JavaScript SDK 错误 : "redirect URI not whitelisted" 登录 Facebook