【发布时间】:2015-08-24 01:03:02
【问题描述】:
我需要为用户提供重新启动的选项 每当应用程序被强制关闭而不返回主页时,应用程序。
可以吗??
我想确定 有没有可能??
实际上是客户的要求。
【问题讨论】:
标签: android
我需要为用户提供重新启动的选项 每当应用程序被强制关闭而不返回主页时,应用程序。
可以吗??
我想确定 有没有可能??
实际上是客户的要求。
【问题讨论】:
标签: android
是的,这是可能的。
在您的应用程序类中调用onCreate 中的以下设置。
Thread.setDefaultUncaughtExceptionHandler(_unCaughtExceptionHandler);
private Thread.UncaughtExceptionHandler _unCaughtExceptionHandler = new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Intent intent = getPackageManager().getLaunchIntentForPackage("Your packagename");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
}
};
此方法将捕获您的代码引发的所有未捕获的异常并重新启动您的应用程序而不会发生任何崩溃。
【讨论】:
是的,您可能只需要执行以下 2 个步骤..
第 1 步:- 创建一个类为 MyCrashHandler as
public static class MyCrashHandler implements Thread.UncaughtExceptionHandler {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
//Handle your crash here...Show dialog etc..
ex.printStackTrace();
}
}
第 2 步:- 现在您需要在 Activity 中注册此崩溃处理程序,作为
Thread.currentThread().setDefaultUncaughtExceptionHandler(new MyCrashHandler ());
【讨论】: