如何以编程方式退出android应用程序然后重新打开它?

时间:2020-06-05 10:12:45

标签: android

我正在做一个android应用程序,并且我试图处理一种重新启动方法,在该方法中,应用程序需要重置和删除保存在本地的数据。我已经尝试过System.exit(0)方法,但是应用程序仍在backgroung中运行。相反,我要做的是完全关闭应用程序(也是应用程序任务),然后重新打开它。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

我认为您不需要杀死应用程序,而是清除应用程序数据!试试这个..

private void clearAppData() {
    try {
        // clearing app data
        if (Build.VERSION_CODES.KITKAT <= Build.VERSION.SDK_INT) {
            ((ActivityManager)getSystemService(ACTIVITY_SERVICE)).clearApplicationUserData(); // note:it has a return value!
        } else {
            String packageName = getApplicationContext().getPackageName();
            Runtime runtime = Runtime.getRuntime();
            runtime.exec("pm clear "+packageName);
        }

    } catch (Exception e) {
        e.printStackTrace();
    } 
}

答案 1 :(得分:0)

您可以尝试使用ProcessPhoenix(https://github.com/JakeWharton/ProcessPhoenix/blob/master/README.md),尽管这不适用于生产代码。