見知らぬ質問に出くわしました。AndroidのGlobalActionソースコードを読むと、ダイアログが開始されますが、このダイアログが表示されたかどうかを判断する判断が追加されます。以前に表示されていた場合は、却下されます。奇妙なことに、ハンドラーを使用してメッセージを送信し、ダイアログを再度作成して表示するよりも、ダイアログを閉じる必要があります。ハンドラーメッセージを送信する必要がある理由がわかりません。ダイアログを閉じる関数を呼び出すだけだと思います。 。その後、show functionを呼び出しますが、問題ありません。コメントには、「表示が遅れたため、前のダイアログの却下が完了しました」と書かれていましたが、意味もわかりません。誰かに説明してもらってください。ありがとうございます。
if (mDialog != null) {
mDialog.dismiss();
mDialog = null;
// Show delayed, so that the dismiss of the previous dialog completes
mHandler.sendEmptyMessage(MESSAGE_SHOW);
}