0
我試圖使用官方的Facebook API的Android和我發現一個奇怪的事情,在身份驗證過程。 該代碼是從官方示例中刪除的。Android的Facebook的API API授權
@Override
public void onCreate(Bundle savedInstanceState) {
mFacebook = new Facebook(APP_ID);
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
mFacebook.authorizeCallback(requestCode, resultCode, data);
}
private final class ButtonOnClickListener implements OnClickListener {
public void onClick(View arg0) {
mFacebook.authorize(mActivity, mPermissions, new LoginDialogListener());
}
}
private class SessionListener implements AuthListener, LogoutListener {
public void onAuthSucceed() {
setImageResource(R.drawable.logout_button);
SessionStore.save(mFb, getContext());
}
}
所以在onClick中,您提供了對您的活動的參考,因爲您將在onActivityResult中獲得登錄過程的結果。
奇怪的是,如果您的活動在登錄屏幕上被擊斃,您的facebook對象將在onCreate中重新實例化,並且在authorizeCallback調用之後,您的SessionListener方法都不會被調用。
問題是我有一個將在onAuthSucceed()中調用的上傳方法。
有沒有人有解決方案?