2011-05-17 82 views
2

我想在我的应用程序崩溃时执行应用程序的隐式注销。因此,当用户再次登录时,他将拥有新的数据,而不是由我的崩溃导致的不完整数据。我们可以在Android发生崩溃时执行一些操作

+0

一个ANR是不崩溃。这里是关于什么是ANR的描述http://developer.android.com/guide/practices/design/responsiveness.html – 2011-05-17 14:36:40

+0

修正了标题,用“crash”替换了“ANR” – inazaruk 2011-05-17 14:57:15

回答

3

您可以在每个可能崩溃的线程上注册您的Thread.UncaughtExceptionHandler。这将允许您在向Android报告崩溃之前添加一些额外的步骤。但要小心,因为如果您的代码在这些步骤中引发了其他异常,您将永远不会收到有关您的Android电子市场帐户的崩溃报告。

基本上,将代码保存在未捕获的异常处理程序中尽可能简单。

下面是一个例子:

public class MyUncaughtExceptionHandler implements UncaughtExceptionHandler { 
    private final UncaughtExceptionHandler defaultHandler; 

    MyUncaughtExceptionHandler(){ 
     defaultHandler = Thread.getDefaultUncaughtExceptionHandler(); 
    } 

    public void uncaughtException(Thread t, Throwable e) { 
     //TODO: add your custom code here 
     defaultHandler.uncaughtException(t,e); 
    } 
} 
+0

如果他正在寻找ANR作为标题建议,这将无济于事。但他可能正在寻找你发布的内容。 – 2011-05-17 14:37:15

+0

@Mike dg,谢谢澄清。我实际上也被问题标题弄糊涂了。但问题本身对他打算做的事很清楚。 – inazaruk 2011-05-17 14:40:09

相关问题