如果检测到未处理的异常,我正在尝试启动错误报告活动。问题是从主线程抛出的异常。如果主线程崩溃,有没有办法启动活动?
答案 0 :(得分:7)
我看到用于在UncaughtExcpetionHandler
中捕获错误的方法是将崩溃数据写入文件,然后在应用程序重新启动时根据是否存在而启动错误处理Activity
崩溃数据文件。
根据您希望Activity
做什么,这可能对您有用。
答案 1 :(得分:1)
我认为这是错误的做法。您需要做的是确保捕获这些异常,并在捕获它们时弹出错误报告活动。
答案 2 :(得分:1)
您可以将属性android:process=":report_process"
添加到<activity>
元素,该元素引用AndroidManifest.xml
中的错误报告活动。
默认情况下,属于同一个应用程序的活动将在程序包名称标识的同一进程中运行。通过设置android:process
属性,您可以覆盖此属性。 android:process
以:
开头是指您的包中的私有标识符,这样您就可以在新流程中启动活动,而不会与其他包的进程冲突。