我想在清除我的应用数据后打开一个新活动

时间:2018-11-21 10:59:39

标签: java android

try {

    // clearing app data
    String packageName = getApplicationContext().getPackageName();
    Runtime runtime = Runtime.getRuntime();
    runtime.exec("pm clear "+packageName);


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

    Intent intent = new Intent(BaseActivity.this, SplashActivity.class);
    startActivity(intent);
}

我想在单击按钮后清除数据代码后打开新活动,这是我的按钮单击代码,但是当我运行它时,它将清除数据但不打开新活动。请事先帮助谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试以下代码。但是它有一个局限性,因为clearApplicationUserData()要求最低SDK版本为19。

Intent intent = new Intent(BaseActivity.this, SplashActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
                | Intent.FLAG_ACTIVITY_CLEAR_TASK
                | Intent.FLAG_ACTIVITY_NEW_TASK);

PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_ONE_SHOT);

AlarmManager mgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, pendingIntent);

System.exit(0);
((ActivityManager)getSystemService(Context.ACTIVITY_SERVICE)).clearApplicationUserData();