0

キャッチされていない例外が発生してアプリケーションが終了した場合に、Android ベースのアプリを自動的に再起動するオプションについて質問があります。このリクエストを実装するための私の考えは次のとおりです。

  1. MainLauncher の OnCreate 関数で PendingIntent を作成します。この場合、この PendingIntent は BroadCastReceiver を指し、MainLauncher アクティビティを起動してアプリを再起動できますか?

    protected override void OnCreate(バンドル バンドル) { base.OnCreate(バンドル); restartIntent = PendingIntent.GetActivity(this, 0, new Intent(this, typeof(aBroadcastReceiverMaybe)), 0); }

  2. アプリのキャッチされていない例外をキャッチします。私の理解では、関数 Thread.setDefaultUncaughtExceptionHandler() をオーバーライドできる可能性がありますが、これは Android の Java 実装にあります。これが xamarin フレームワークでどのように機能するかはよくわかりません

  3. キャッチされていない例外のオーバーライドで、4 秒後にステップ 1 の PendingIntent を起動する AlarmManager を作成します。exit() 関数を使用してアプリを強制終了します。これも、xamarin フレームワークでの実装が不明です。

  4. ステップ 3 の 4 秒の遅延の後、BroadcastReceiver に通知されます。通知を受信したら、MainLauncher アクティビティを起動してアプリを再起動します。

このタスクにより適した実装があれば、喜んで参加させていただきます。ご連絡をお待ちしております。

4

1 に答える 1

2

エラーメイトを処理したほうがよいでしょう。ユーザーとして、携帯電話にバグのあるアプリがあり、クラッシュするたびに自動的に再起動すると、煩わしくなるだけです。

于 2013-02-15T06:08:04.627 に答える