所以Facebook的Android SDK已经花了一些时间(100ms-500ms)来启动并加载所有必要的资源。
Facebook AccessToken.getAccessToken is null on opening of app even after first login
所以我一直在做的就是在执行必要的操作之前使用等待直到sdk完成加载的回调
FacebookSdk.sdkInitialize(getApplicationContext(), new FacebookSdk.InitializeCallback()
{
@Override
public void onInitialized()
{
// running this here, since AccessToken.getCurrentAccessToken
// might not be initialized otherwise
if(AccessToken.getCurrentAccessToken() == null)
{
// redirect to login activity
}
else
{
// redirect to profile activity
}
}
});
但是现在在新版本的sdk中,FacebookSdk.sdkInitialize
已被弃用。现在我不知道如何确保在调用AccessToken.getCurrentAccessToken
我现在唯一能想到的就是让线程等待100ms-500ms,但这样的接缝就像最笨拙的补丁一样。