0

我正在开发一个应用程序,我想添加一个崩溃恢复功能,重新启动我的应用程序。我没有写任何与此相关的代码。我的想法是启动一个监控状态的服务。基于这种方法,问题是因为服务是从我的应用程序启动的,如果应用程序死了,它就会死。是否可以从我的应用程序启动服务并独立运行以监控我的应用程序并重新启动它?

4

2 回答 2

2

有几种方法可以解决您描述的问题。也许最简单的方法是Application为您的项目提供一个自定义类,并在其 onCreate() 方法中调用Thread.setDefaultUncaughtExceptionHandler(this);以将您的类指定为默认异常处理程序。这将要求您覆盖public void uncaughtException(Thread t, Throwable e)在崩溃时将调用的哪个,并且您可以安排重新启动。

如果你真的想要在你的进程监控之外的东西,一种方法是在你的应用程序中定义一个服务,它被定义为有自己的进程;这是通过 AndroidManifest 属性完成的。

另一种选择是使用 Android AlarmManager,因为它由系统处理并可以重新启动您的应用程序。

于 2012-09-21T15:06:38.637 回答
-4

您可以在手机启动时通过使用 action 注册意图过滤器来启动您的服务android.intent.action.BOOT_COMPLETED。可以在此处或在类似问题中找到更多信息

于 2012-09-21T15:06:19.953 回答