如何获得对应用程序当前Facebook的访问令牌启动

如何获得对应用程序当前Facebook的访问令牌启动

本文介绍了如何获得对应用程序当前Facebook的访问令牌启动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在应用程序启动我需要知道,如果用户登录或不显示登录页面或没有。

我的第一次尝试是要求 AccessToken.getCurrentAccessToken(),但这不起作用,见http://stackoverflow.com/a/29854249/1016472

我的第二次​​尝试是使用AccessTokenTracker但这并不太多工作。要使用AccessTokenTracker我必须首先初始化的Facebook SDK。但这个初始化期间访问令牌发送到跟踪器。跟踪器是不是在这个时候创建​​的,无法接收令牌。

我的第三次尝试是创建我自己的AccessTokenTracker它看起来像原来的。我创建并注册它之前,我初始化SDK。现在我的Tracker的GET就是在这个SDK初始化过程的标记。

通过这方面的知识我在打开Facebook的一个错误报告与问题:

从Facebook答案是:

I know that this is not working. And now I know there is no bug.

But how to solve my problem?

This doesn't work:

FacebookSdk.sdkInitialize(getApplicationContext());
mAccessTokenTracker = new AccessTokenTracker() {

    @Override
    protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {

        Timber.i("AccessTokenTracker oldAccessToken: " + oldAccessToken + " - currentAccessToken: " + currentAccessToken);
    }
};

You need to initialize the SDK first as you said. Then create the access token tracker, and then check the current access token via AccessToken.getCurrentAccessToken().

If the SDK initializer is fast enough that the token is set before you can create the tracker, then your call of currentAccessToken will get the token. If the sdk initialization is slower than then tracker registration then the tracker will get the access token.

这篇关于如何获得对应用程序当前Facebook的访问令牌启动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!