如果未触发的异常被触发导致应用程序退出,我对自动重启基于Android的应用程序的选项有疑问。我实现此请求的想法如下,
在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); }
抓住我的应用程序的任何未捕获的异常。我的理解是你可以覆盖一个函数Thread.setDefaultUncaughtExceptionHandler()但这是在Android的Java实现中。我不太确定这在xamarin框架下是如何工作的
在未捕获的异常覆盖中,创建一个AlarmManager,它将在4秒后从步骤1触发PendingIntent。强制使用exit()函数退出应用程序,再次不确定在xamarin框架下的实现。
在步骤3中延迟4秒后,将通知BroadcastReceiver。在接收通知时,启动MainLauncher活动以重新启动应用程序。
如果有更适合此任务的实施,我很乐意接受。期待很快收到您的回复。
答案 0 :(得分:2)
你最好处理错误配对。作为用户,如果我的手机上有一个有问题的应用程序,每次崩溃它会自动重启,它只会变成烦恼。