我的应用程序包括一系列活动,用户必须以线性方式进行这些活动。假设这一系列活动如下所示:A(代表主菜单)、B、C、D、E。用户的操作过程如下:A -> B -> C -> D -> E。在这些活动中,用户必须输入数据或允许设备自动获取数据(例如通过网络或蓝牙)。
有时,我的应用程序会在其中一项活动中崩溃。通常,最终发生的情况是应用程序向后移动一两个活动。例如,如果我的应用程序在 Activity D 中崩溃,该应用程序可能会移回 Activity C 或 B。但问题是,在这样的崩溃之后,输入数据处于如此奇怪的状态,以至于应用程序再次崩溃并显示强制关闭对话框,一路返回到 Activity A 主菜单。
如何捕获导致整个应用程序全局崩溃的异常,以便我可以清理数据并优雅地允许用户返回主菜单?
扩展应用程序类
import android.app.Application;
import android.util.Log;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.e("MyApplication", ex.getMessage());
}
});
}
}
在 AndroidManifest.xml 文件中添加以下行作为 Application 属性
android:name=".MyApplication"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)