记录用户在部署的Android应用程序中遇到的错误
当我们的一个应用程序在用户设备上崩溃时,是否有一种方法可以得到通知 作为一名Java Swing开发人员,我发现定义一个自定义事件队列来捕获应用程序中发生的所有未捕获异常非常有用。准确地说,一旦异常被捕获,应用程序就会向支持团队发送一封包含异常跟踪(使应用程序越来越可靠的终止信息)的电子邮件。 以下是我使用的代码:记录用户在部署的Android应用程序中遇到的错误,android,debugging,Android,Debugging,当我们的一个应用程序在用户设备上崩溃时,是否有一种方法可以得到通知 作为一名Java Swing开发人员,我发现定义一个自定义事件队列来捕获应用程序中发生的所有未捕获异常非常有用。准确地说,一旦异常被捕获,应用程序就会向支持团队发送一封包含异常跟踪(使应用程序越来越可靠的终止信息)的电子邮件。 以下是我使用的代码: EventQueue queue = Toolkit.getDefaultToolkit().getSystemEventQueue(); queue.push(new EventQ
EventQueue queue = Toolkit.getDefaultToolkit().getSystemEventQueue();
queue.push(new EventQueue() {
@Override
protected void dispatchEvent(AWTEvent event) {
try {
super.dispatchEvent(event);
} catch (Throwable t) {
processException(t); // Basically, that method send the email ...
}
}
我想在Android应用程序中找到一种同样的方法。。。但没有发现真正有效的方法。
这是我最后一次尝试:
import java.lang.Thread.UncaughtExceptionHandler;
import android.util.Log;
public class ErrorCatcher implements UncaughtExceptionHandler {
private static UncaughtExceptionHandler handler;
public static void install() {
final UncaughtExceptionHandler handler = Thread.currentThread().getUncaughtExceptionHandler();
if (handler instanceof ErrorCatcher) return;
Thread.currentThread().setUncaughtExceptionHandler(new ErrorCatcher());
}
public void uncaughtException(Thread thread, Throwable t) {
processException(t);
handler.uncaughtException(thread, ex);
}
}
这是没有效率的,因为应用程序不再退出,并停留在“僵尸”状态,这让用户非常困惑
您有解决方案吗?其他愿景:bugsense.com也很有用……非常感谢。你的链接看起来很有价值。很抱歉,我找到了你指向的线索。。。