facebook android SDK を使用してダイアログを開くと、すべて正常に動作します。
ただし、ユーザーが [戻る] ボタンをクリックすると、ダイアログは実際に閉じますが、ダイアログ リスナーのonCancelメソッド (またはその他のメソッド) は呼び出されません。
この問題について検索したところ、github の fb android SDK からこのプル リクエストが見つかりました: Calls Cancel on DialogListener when Dialog is Canceled。
私はこれを得るために一部を取り、それを少し修正しました:
@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 のソースを変更することは好きではありません。
何か案は?