I created a long-lasting Facebook access token. I have a TestApp's app ID from Facebook. The issue is that I can't seem to get a valid session! What am I doing wrong?
public class MainActivity extends Activity {
Facebook fb;
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fb = new Facebook(getString(R.string.APP_ID));
fb.setAccessToken(getString(R.string.ACCESS_TOKEN));
//Expiry is set to 0, since the token never expires
fb.setAccessExpires(0);
if (fb.isSessionValid()) {
Toast.makeText(this, "Session is valid",
android.widget.Toast.LENGTH_LONG).show();
Log.d("TAG2", getString(R.string.ACCESS_TOKEN));
} else
Toast.makeText(this,
"Session is Invalid"+ getString(R.string.ACCESS_TOKEN),
android.widget.Toast.LENGTH_LONG).show();
Log.d("TAG3", getString(R.string.ACCESS_TOKEN));
}
}
Edited Code (I edited my original code to reflect the two answers given, but still it didn't help):
public class MainActivity extends Activity {
Facebook fb;
SharedPreferences prefs;
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = prefs.edit();
editor.putString("AKEY",getString(R.string.ACCESS_TOKEN));
editor.commit();
editor.apply();
fb = new Facebook(getString(R.string.app_id));
fb.setAccessToken(prefs.getString("AKEY", ""));
//Expiry is set to 0, since the token never expires
fb.setAccessExpires(0);
if (fb.isSessionValid()) {
Toast.makeText(this, "Session is validd",
android.widget.Toast.LENGTH_LONG).show();
Log.d("TAG2", getString(R.string.ACCESS_TOKEN));
} else {
Toast.makeText(this, fb.toString(),
android.widget.Toast.LENGTH_LONG).show();
Log.d("TAG3", fb.toString() + fb.getAccessExpires()
+ "Access Token is: " + fb.getAccessToken() +prefs.getString("AKEY", "")
+ "Last update is:" + fb.getLastAccessUpdate()
+ "Session is:" + fb.getSession());
}
}
}