崩溃时自动重启android mono app

时间:2013-02-15 03:29:31

标签: android mono xamarin.android

如果未触发的异常被触发导致应用程序退出,我对自动重启基于Android的应用程序的选项有疑问。我实现此请求的想法如下,

  1. 在MainLauncher的OnCreate函数中创建PendingIntent。在这种情况下,此PendingIntent是否指向BroadCastReceiver,然后可以触发MainLauncher活动以重新启动应用程序?

    protected override void OnCreate(Bundle bundle)  {  base.OnCreate(束);  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活动以重新启动应用程序。

  5. 如果有更适合此任务的实施,我很乐意接受。期待很快收到您的回复。

1 个答案:

答案 0 :(得分:2)

你最好处理错误配对。作为用户,如果我的手机上有一个有问题的应用程序,每次崩溃它会自动重启,它只会变成烦恼。