I am trying to start an error-reporting activty if unhandled exception detected. The problem is with exceptions thrown from main thread. Is there any way to start an activity if main thread crashed?
The approach I've seen used for error catching in an UncaughtExcpetionHandler
is to write the crash data out to file and then start the error handling Activity
when the application is restarted based on the existence of the crash data file.
Depending on what you want your Activity
to do, this might work for you.
I think this is the wrong way to go about it. What you need to do is make sure you catch those exceptions, and pop up an error-reporting activity when you catch them.
You can add attribute android:process=":report_process"
to the <activity>
element which refers to your bug report activity in AndroidManifest.xml
.
By default, activities belong to the same appliction would run in the same process identified by your package name. By setting android:process
attribute, you can override this. android:process
starting with :
refers to a private identifier within your package, so that you can start the activity in a new process without conflicting other packages' process.
来源:https://stackoverflow.com/questions/6562277/android-how-to-start-an-activity-from-an-uncaughtexceptionhandler-set-in-applic