Facebookのandroid sdkを使用してダイアログを開くと、すべてうまく動作します。Facebookのダイアログと戻るボタン
ただし、ユーザーが[戻る]ボタンをクリックすると、ダイアログボックスは実際に閉じますが、のダイアログボックスリスナー(または他のメソッド)のメソッドは呼び出されません。
私はこの問題を調査し、gbのfb android sdkからこのプルリクエストが見つかりました:Calls Cancel on DialogListener when Dialog is Cancelled。
私は1つの部分を取って、それを修正ビットをこの得るために:
@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の一部ではないのだろうか? プルリクエストは1年以上経過しており、最後の応答は約11か月です。 なぜそれをsdkソースに追加しないのですか?
この解決策は緊急ではないので、後で問題が発生する可能性があるため、facebook sdkのソースを変更したくありません。
アイデア?
感謝を はBACKキーでキャンセルできないダイアログを設定するには、この行を追加します。正直なところ私はこの問題をしばらくチェックしていませんが、なぜFacebook.FORCE_DIALOG_AUTHを使用することをお勧めしますか?より良いユーザーエクスペリエンスのためには、「SSO」を使用することをお勧めします。 –
私が正しく覚えているのは、非SSOがSSOパネルを右からスライドさせている間に認証パネルを表示するためのより良いポップオーバーダイアログを使用していることです。 SDKコードを直接ハックすることなく、このUIを変更する方法はありません。 – repto
他の理由は、アプリケーション要件の1つが、インストールされたFacebookクライアントを使用しないことでした。 – repto