アクティビティ内に、CounterActivity
と呼ばれるカウンタがあります。次のようにカウンタが0になったときDialogFrament
が示されている:アクティビティが画面に表示されていないときにDialogFragmentが例外をスローする
MessageFragment dialog = new MessageFragment();
dialog.show(getSupportFragmentManager(), "MessageFragment");
その活動の主なレイアウトがandroid:keepScreenOn="true"
、スクリーンがあれば活動が表示されているようにタイムアウトしないという方法を設定し、次の属性を有します。別のアプリケーションを開くと、CounterActivity
でonStopが呼び出されます。まだバックグラウンドで実行されているカウンタは、DialogFragmentを示すのではなく、に0を取得した場合、次の例外がスローされます。
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
他のスレッドが終了してから何かをする前に、あなたのアクティビティがまだ利用可能かどうかを最初に確認する必要があります。コンテキストでヌルチェックを行うことができます。 –