需要处理未捕获的异常并发送日志文件
更新:请参阅下面的“已接受”解决方案 当我的应用程序创建未处理的异常(而不是简单终止)时,我想首先给用户提供发送日志文件的机会。我意识到在遇到随机异常后进行更多工作是有风险的,但是,最糟糕的是,应用程序崩溃了,日志文件也没有发送出去。事实证明这比我预期的要棘手:) 有效的方法:(1)捕获未捕获的异常,(2)提取日志信息并写入文件。 尚无法解决的问题:(3)开始一项活动来发送电子邮件。最终,我将进行另一项活动来征求用户的许可。如果我的电子邮件活动正常进行,则不会给其他人带来麻烦。 问题的症结在于未处理的异常在我的Application类中被捕获。由于这不是活动,因此如何使用Intent.ACTION_SEND启动活动尚不清楚。也就是说,通常要启动一个活动,就调用startActivity并以onActivityResult继续。这些方法受“活动”支持,但不受“应用程序”支持。 有关如何执行此操作的任何建议? 以下是一些代码片段作为入门指南: public class MyApplication extends Application { defaultUncaughtHandler = Thread.getDefaultUncaughtExceptionHandler(); public void onCreate () { Thread.setDefaultUncaughtExceptionHandler (new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException (Thread thread, Throwable e) { handleUncaughtException (thread, e); } }); } private void handleUncaughtException (Thread thread, Throwable e) { String fullFileName …