デバイスにインストールされているアプリを ListView に一覧表示する MyApp to android というアプリを作成しました。ListView の行をクリックすると、この行が指すアプリが開きます。
MyApp で開いたこのアプリがクラッシュすると、MyApp を閉じてホーム画面に移動します。
これを防ぐ方法はありますか?つまり、MyApp によって開かれたアプリがクラッシュした場合、クラッシュして MyApp に戻るだけで、クラッシュしてホーム画面に移動することはありません。
編集:「アクティビティComponentInfoを開始できません」
を示すコメントに基づくjava.lang.RuntimeException
あなたの例では、起動中のアプリListViewが呼び出されている間にアプリが呼び出されます。MyAppApp
いずれの場合も、Appクラッシュした場合、実行は に戻りMyAppます。したがって、ランチャーでクラッシュが発生していますMyApp。
アプリのクラッシュを防ぐには、startActivity()またはstartActivityForResult()をtry/catchブロックで囲みます。
その後、MyAppアプリケーションの起動に失敗した後もアクティビティは表示されたままになります。さらに、ブロック内にまたはメッセージ
を表示して、ユーザーにエラーを通知する機会が必要です。DialogToastcatch()