私は1つの活動にこのコードを持っています:
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if(access_token != null) {
facebook.setAccessToken(access_token);
}
if(expires != 0) {
facebook.setAccessExpires(expires);
}
if(!facebook.isSessionValid()) {
Log.e("Facebook Session","Invalid");
//do facebook authorize...
}
else
{
Log.e("Facebook Session","valid");
Intent nextActivity = new Intent (MainActivity.this, FacebookFriendsListActivity.class);
MainActivity.this.startActivity(nextActivity);
}
セッションを「有効」として表示し、新しいアクティビティを開始しますが、SharedPreferanceから返されるデータはnullですが、新しいアクティビティではまったく同じコードを使用します。他のアクティビティは、ListActivity
それが違いを生むかどうかです。
これは 2 番目のアクティビティのコードです。
Log.e("Login","entered func");
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if(access_token != null) {
Log.e("acces_token","Isn't null");
facebook.setAccessToken(access_token);
}
if(expires != 0) {
Log.e("expires","Isn't null");
facebook.setAccessExpires(expires);
}
ご想像のとおり、ログは作成されておらず、メソッドが入力されていることを示しています。この奇妙な問題を解決するのを手伝ってくれる人はいますか?