當使用facebook android sdk打開對話框時,它一切正常。Facebook對話框和後退按鈕
但是,如果用戶單擊後退按鈕,則對話框確實會關閉,但不會調用對話監聽器(或任何其他方法)的方法。
我搜索了這個問題,發現這個從fb android sdk在github上的請求:Calls Cancel on DialogListener when Dialog is Cancelled。
我拿了一部分,並修改了它一點得到這樣的:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
mWebView.stopLoading();
dismiss();
mListener.onCancel();
return true;
}
return true;
}
,我把它添加到FbDialog類,實際上這似乎這樣的伎倆。
我想知道的是爲什麼這不是sdk的一部分? 拉請求已超過一年,最後一次回覆約爲11個月。 爲什麼不把它添加到SDK源?
由於此解決方案工作並不緊急,但我不想修改facebook sdk的源代碼,因爲稍後可能會有問題(如果/當它們更新時)。
任何想法?
感謝您的回答。老實說,我沒有檢查過這個問題,但爲什麼你會建議我使用'Facebook.FORCE_DIALOG_AUTH'?爲了更好的用戶體驗,使用'SSO'是首選。 – 2012-06-19 22:14:15
如果我沒有記錯的話,主要原因是非SSO使用更好的彈出對話框來顯示身份驗證面板,而SSO面板從右側滑入(並在用戶完成後返回到右側)。似乎沒有辦法改變這個用戶界面,至少在不直接破解SDK代碼的情況下。 – repto 2012-06-25 16:55:01
其他原因是應用程序要求之一是不使用已安裝的Facebook客戶端。 – repto 2012-06-25 17:08:45