ActivityA
启动一个子 Activity B
,如果B
因未捕获的异常而失败,它会关闭并且 Android 系统A
在新进程中启动父 Activity。现在,如果父 Activity 以新状态开始,但事实并非如此,一切都会好起来的。即使它是一个新进程,活动的状态也会以某种方式恢复。这会导致很多问题。
阅读类似的问题,这是我迄今为止尝试过的:
在儿童活动中:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandle() {
public void uncaughtException(Thread thread, Throwable ex) {
// replacing the following 5 with just finish() doesn't help
// either because then the screen just goes all black
final Intent rootActivity = new Intent(getApplicationContext(), RootActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(rootActivity);
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
return;
}
};
...
...
...
}
我尝试的另一件事是android:multiProcess="false"
为父活动设置......不会改变任何东西。
Android 系统仍会启动父 Activity(在新进程中)并执行 onRestoreInstance。
我希望应用程序因“发生意外错误”或任何系统对话框而完全死亡,并且根本不重新启动。
请帮忙,这让我发疯了。