崩溃恢复Android应用程序

时间:2012-09-21 15:02:01

标签: android android-service

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:-4)

通过使用操作android.intent.action.BOOT_COMPLETED注册意图过滤器,您可以在手机启动时启动服务。可以在here或类似的question

中找到更多信息