私のアプリでは、Facebook SDK 3.14 を使用しました。4.4.0 にアップグレードしたので、ログインしたユーザーの AccessToken および Profile オブジェクトを初期化する必要があります。
if(AccessToken.getCurrentAccessToken()==null) {
String tempAccessToken = Preferences.getPreference(_context, PREFERENCES_FACEBOOK_ACCESS_TOKEN, null);
if (tempAccessToken != null) {
String tempUserID = Preferences.getPreference(_context, PREFERENCES_FACEBOOK_ID, null);
AccessToken.setCurrentAccessToken(new AccessToken(tempAccessToken,_context.getString(_resourceAppID),tempUserID,null,null,null,null,null));
Profile.fetchProfileForCurrentAccessToken();
Preferences.removePreference(_context, PREFERENCES_FACEBOOK_ID);
Preferences.removePreference(_context,PREFERENCES_FACEBOOK_ACCESS_TOKEN);
}
}
正しく初期化するには、保存した AccessToken と FacebookUserID を使用します。一部のユーザーは、このプロセスの後、メソッド Profile.getCurrentProfile() が null を返します。
なぜこれが起こるのか誰にも分かりますか?