[解決済み] Android: 強制終了されたアプリケーションを自動で再起動させるには?
2023-04-29 22:49:56
質問
Androidアプリケーションで、例外処理を適切に行わないと、通常、quot;Force Closed"というエラーが発生します。
強制終了されたアプリケーションを自動的に再起動するにはどうしたらよいですか。
このために使用する特定のパーミッションはありますか?
どのように解決するのですか?
これを達成するためには、2つのことを行う必要があります。
- 強制終了を回避する - アプリケーション クラッシュの標準的な方法です。
- クラッシュが起こったときの再起動メカニズムをセットアップします。
これらを行う方法は以下を参照してください。
-
コール
Thread.setDefaultUncaughtExceptionHandler()
を呼び出すと、キャッチされていない例外をすべてキャッチすることができます。uncaughtException()
メソッドが呼び出され、quot;Force close" は表示されず、アプリケーションは無応答になります。 アプリケーションがクラッシュしたときに再起動するためには、次のようにします。 -
で
onCreate
メソッドで、メインアクティビティでPendingIntent
のメンバーを初期化します。Intent intent = PendingIntent.getActivity( YourApplication.getInstance().getBaseContext(), 0, new Intent(getIntent()), getIntent().getFlags());
次に、以下を
uncaughtException()
メソッドに記述します。
AlarmManager mgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 2000, intent);
System.exit(2);
また
System.exit()
を呼び出す必要があります。そうしないと動作しません。
このようにすると、2秒後にアプリケーションが再起動します。
最終的には、アプリケーションがクラッシュしたことを示すフラグをインテントに設定することができます。
onCreate()
メソッドでダイアログを表示させることができます。
関連
-
[解決済み] 「外部JARで「Dalvik形式への変換に失敗し、エラー1が発生しました。
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Androidアプリケーションのアクティビティ間でデータを受け渡すにはどうすればよいですか?
-
[解決済み] Eclipseにプロジェクトをインポートした後に「Must Override a Superclass Method」エラーが発生する。
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] 残念ながらMyAppは停止してしまいました。どうすればよいですか?
-
[解決済み] Androidでアプリケーションのメモリ使用量を確認するにはどうすればよいですか?
-
[解決済み] handler.postDelayed()を停止する。
-
[解決済み] Android Navigation Architecture Component - 現在表示されているフラグメントを取得する
-
[解決済み] TextView.setTextSizeの挙動がおかしい - テキストビューのテキストサイズを画面ごとに動的に設定する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] アンドロイドフラグメント onRestoreInstanceState
-
[解決済み] Android ConstraintLayout - あるビューを別のビューの上に配置する
-
[解決済み] Studio 3.4 をアップデートしたら、引数の leftShift() メソッドが見つかりませんでした。
-
[解決済み] ArrayList<MyCustomClass>をJSONArrayに変換する。
-
[解決済み] 非ActivityクラスでContextを取得する [重複].
-
[解決済み] AndroidでTextViewの下にアンダーラインを引くには
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] 非推奨のandroid.support.v4.app.ActionBarDrawerToggleの置き換え方法
-
[解決済み] AsyncTaskLoaderとAsyncTaskの比較
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?