【发布时间】:2013-01-31 00:33:42
【问题描述】:
如果触发未捕获的异常导致应用程序退出,我对自动重启基于 android 的应用程序的选项有疑问。我实现这个请求的想法如下,
-
在 MainLauncher 的 OnCreate 函数中创建一个 PendingIntent。在这种情况下,这个 PendingIntent 是否会指向一个可以触发 MainLauncher Activity 以重新启动应用程序的 BroadCastReceiver?
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 Activity 以重新启动应用程序。
如果有更适合此任务的实现,我很乐意接受。期待很快收到您的来信。
【问题讨论】:
标签: android mono xamarin.android