2013-02-15 117 views
0

我有關於如果未啓用的異常被觸發導致應用程序退出時自動重啓基於android的應用程序的問題。我對實現此請求的想法如下:在崩潰時自動重啓android單聲道應用程序

  1. 在MainLauncher的OnCreate函數中創建一個PendingIntent。在這種情況下,這個PendingIntent會指向一個BroadCastReceiver,然後它可以啓動MainLauncher Activity來重新啓動應用程序?

    protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); restartIntent = PendingIntent.GetActivity(this,0,new Intent(this,typeof(aBroadcastReceiverMaybe)),0); }

  2. 捕獲我的應用程序的任何未捕獲的異常。我的理解是你可以重寫一個函數Thread.setDefaultUncaughtExceptionHandler(),但這是在android的Java實現。我不太確定這是如何在xamarin框架下工作的

  3. 在未捕獲的異常覆蓋中,創建一個AlarmManager,它將在4秒後觸發步驟1中的PendingIntent。使用exit()函數強制退出應用程序,再次確定xamarin框架下的實現。

  4. 在步驟3中延遲4秒後,BroadcastReceiver將被通知。在收到通知後,啓動MainLauncher活動以重新啓動應用程序。

如果有更適合這項任務的實施,我會很樂意參加。希望能儘快收到您的迴音。

回答

2

你最好處理錯誤配對。作爲用戶,如果我的手機上有一個錯誤的應用程序,並且每次崩潰,它都會自動重新啓動,這隻會成爲一個煩惱。