7

タイトルが示すUncaughtExceptionHandlerように、カスタム アプリケーション クラスに、アプリケーションの起動時にデフォルトとして設定されるセットがあります。

ただし、ドキュメントにはありませんが、orDialogを使用してインスタンス化できないことを読んだことがあります。私がそれをやろうとすると、私はMyApplication.thisgetApplicationContext()

WindowManager$BadTokenException...

代替手段が必要です。これを補うために新しいアクティビティを作成することを考えましたが、むしろAlertDialog.

クラスUncaughtExceptionHandler内から有効なコンテキストを取得する方法はありますか?MyApplication

4

1 に答える 1

8

MyApplication.this または getApplicationContext を使用してダイアログをインスタンス化できないことを読みました

正しい。Application コンテキストは、UI の構築には特に役立ちません。

これを補うために新しいアクティビティを作成することを考えましたが、むしろそれを AlertDialog にしたいと考えています。

このAlertDialog場合は不可能です。まず、ダイアログを開くことができるのはアクティビティのみであり、どのアクティビティも実行されておらず (たとえば、バックグラウンド サービスでのクラッシュ)、有効ではありません (たとえば、1 つあったが、それがクラッシュした場合)。

編集:混乱を解消するために前の段落を修正

于 2011-04-01T22:13:06.960 に答える