【问题标题】:How to Relaunch application when app gets force closed应用程序强制关闭时如何重新启动应用程序
【发布时间】:2015-08-24 01:03:02
【问题描述】:

我需要为用户提供重新启动的选项 每当应用程序被强制关闭而不返回主页时,应用程序。

可以吗??

我想确定 有没有可能??

实际上是客户的要求。

【问题讨论】:

标签: android


【解决方案1】:

是的,这是可能的。

在您的应用程序类中调用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);

    }
};

此方法将捕获您的代码引发的所有未捕获的异常并重新启动您的应用程序而不会发生任何崩溃。

【讨论】:

  • OP 不是在谈论崩溃,而是强制关闭活动。强制关闭会引发异常吗?
【解决方案2】:

是的,您可能只需要执行以下 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 ());

【讨论】:

    猜你喜欢
    • 2012-04-30
    • 2012-09-15
    • 1970-01-01
    • 2018-03-17
    • 2011-10-29
    • 2011-02-10
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多