我想在我的應用程序中做一個簡單的Facebook登錄,但是我收到了一些關於SharedPreferences的問題。如何獲得我的共享偏好?
的想法是:在應用啓動並進入到活動A,你登錄並返回到A.它看到如果你登錄,如果你不是那麼它就會進入活動B
發生的事情是,當我在B登錄時,它將我發回給A,但A似乎沒有加載我的SharedPreferences並將我發回給B,並且我進入了一個循環。
這是我在A.
public static String access_token = null;
long expires;
代碼...
private void SharedP() {
// TODO Auto-generated method stub
prefs = getSharedPreferences(access_token, MODE_PRIVATE);
access_token = prefs.getString("access_token", null);
expires = prefs.getLong("access_expires", 0);
if (access_token == null && expires == 0) { //If it's not logged...
Intent login = new Intent("android.intent.action.FACEBOOKLOGIN");
startActivity(login);
}
}
我在做什麼錯?我應該怎麼做?
我在B碼:
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
Editor edit = fbSP.edit();
edit.putString("access_token", fb.getAccessToken());
edit.putLong("access_expires", fb.getAccessExpires());
edit.commit();
UpdateLoginImage();
BackToA();
}
我用更多的代碼編輯了我的帖子。我不認爲我打電話給另一個共享偏好。 – 2012-08-17 02:28:43
在B中你做了'fbSP.edit()',但是你是如何初始化fbSP的? – nsemeniuk 2012-08-17 14:22:23
對不起,我沒注意!謝謝,我忘記了我正在使用「getPreferences(MODE_PRIVATE)」而不是「getSharedPreferences(」facebook_data「,MODE_PRIVATE)」。一切都在工作,非常感謝你! – 2012-08-17 20:24:35