我正在使用此代码来处理任何未捕获的异常,这可能会导致我的应用程序崩溃。吐露不出现在UnCaughtExceptionHandler
public class ExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler {
private final Context myContext;
public ExceptionHandler(Context context) {
myContext = context;
}
public void uncaughtException(Thread thread, Throwable exception) {
Toast.makeText(myContext,
"The application has crashed, and a report is sent to the admin",
Toast.LENGTH_SHORT).show();
StringWriter stackTrace = new StringWriter();
exception.printStackTrace(new PrintWriter(stackTrace));
System.err.println(stackTrace);// You can use LogCat too
Intent intent = new Intent(myContext, CrashActivity.class);
myContext.startActivity(intent);
Process.killProcess(Process.myPid());
System.exit(10);
}
}
当我与一个已知的,但捕获的异常运行(只是为了测试),活动“CrashActivity”之称,但它必须来之前它的面包,还没有显示出来。
其实我只想显示吐司,然后调用myContext.finish();而不是去CrashActivity。但是,这在敬酒不可见。
我在哪里错了?
我不是一个android程序员,但从阅读我已经完成,不敬酒必须在UI线程上调用?在这种情况下,你是否在UI线程上调用它?我猜你可能已经想到了这一点。 – 2012-07-23 09:24:02
是的,你是对的..我不打电话给敬酒线程上的祝酒:( – 2012-07-23 09:32:15