I have this code in 1 activity :
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);
}
Which does as excpeted, showing session as “valid” and starting new activity,
But in the new activity i use exact same code, though the data returning from the SharedPreferance is null. the other activity is a ListActivity if it makes any difference.
This is the code in 2nd activity :
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);
}
As you could probably guess, no Log has been made, besides the one showing the method is being entered.
Help any one can help me solve this bizzare problem?
That’s because you are using activity private preferences. See the documentation of the method you are using
getPreferences. Private to THAT activity!Use this instead: