因爲小時我想弄清楚爲什麼我的Facebook連接不能正常工作。我總是不得不點擊它兩次..第一次點擊它時,我發現面板對話框正在打開,但它沒有調用任何形式的回調,所以我的登錄活動只是「恢復」。Android的Facebook的連接按鈕需要點擊兩次
public void onClick_fbIcon(View v) {
if(!buttonsEnabled)
return;
buttonsEnabled = false;
tryFacebookConnect();
}
@SuppressWarnings("deprecation")
private void tryFacebookConnect() {
Log.d("debug", "start fbc");
doingFacebooklogin = true;
facebook.authorize(this, new DialogListener() {
public void onComplete(Bundle values) {
end();
toast("Complete");
Log.d("debug", "#0");
// .. continue with main code
}
public void onFacebookError(FacebookError error) {
end();
Log.d("debug", "#1");
}
public void onError(DialogError e) {
end();
Log.d("debug", "#2");
}
public void onCancel() {
end();
Log.d("debug", "#3");
}
private void end() {
Log.d("debug", "fbc complete");
doingFacebooklogin = false;
}
});
}
第一次單擊我只得到「開始FBC」但在此之後什麼都沒有,所以我想這沒有回調方法被調用。
我發現當facebook-connect第一次不工作時,「onResume被調用」。下一次onActivityResult被調用。
@SuppressWarnings("deprecation")
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d("debug", "Main: onActivityResult");
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
我登錄活動是由是否需要登錄都被specifing我的主要活動啓動的意圖:
Intent intent = new Intent(this, Login.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
有時候,我可以看到下面的錯誤:
11-22 10:23:39.684: D/Facebook-publish(7317): Can NOT get FbInjector instance! Probably because this method was called in ContentProvider's onCreate.
謝謝,但這並沒有改變我的任何東西。 –
我剛剛編輯我的帖子。 –