2013-02-15 104 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

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

相关问题