2016-08-25 46 views
0

在应用程序崩溃后(某些次数)有没有办法执行一个方法?Android API中是否有“应急计划”?

示例:有时每次运行数据都会以应用程序不再崩溃的方式进行更改。所以,这样它可能会在尝试启动2次后自行恢复。第三次会再次顺利运行。只是一个例子!

我现在唯一的想法就是在通用try-catch块(捕捉Exception)处理程序的主Activity中将onCreate方法中的所有内容都包裹起来。我不认为这是明智的,有几个原因,例如表现。

回答

2

要抓住每一个未捕获的异常,你可以使用下面的代码片段:

public class App extends Application { 

    public void onCreate() { 
     Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { 
      @Override 
      public void uncaughtException(Thread t, Throwable e) { 
       Log.e("TAG","Implement your recovery strategy here, e.g. clean database or cache: " + e.toString()); 
      } 
     }); 
    } 
} 

请注意,这是非常“哈克”的解决方案,如果你的应用程序是在损坏的状态往往有可能出错了你的代码。