Ada API baru yang diperkenalkan di API 19 (KitKat):
ActivityManager.clearApplicationUserData () .
Saya sangat merekomendasikan menggunakannya di aplikasi baru:
import android.os.Build.*;
if (VERSION_CODES.KITKAT <= VERSION.SDK_INT) {
((ActivityManager)context.getSystemService(ACTIVITY_SERVICE))
.clearApplicationUserData(); // note: it has a return value!
} else {
// use old hacky way, which can be removed
// once minSdkVersion goes above 19 in a few years.
}
Jika Anda tidak ingin cara hacky Anda juga dapat menyembunyikan tombol di UI, sehingga fungsinya tidak tersedia di ponsel lama.
Pengetahuan tentang metode ini wajib bagi siapa saja yang menggunakan android:manageSpaceActivity.
Setiap kali saya menggunakan ini, saya melakukannya dari manageSpaceActivityyang memiliki android:process=":manager". Di sana, saya secara manual mematikan proses lain dari aplikasi saya. Ini memungkinkan saya untuk membiarkan UI tetap berjalan dan membiarkan pengguna memutuskan ke mana harus pergi selanjutnya.
private static void killProcessesAround(Activity activity) throws NameNotFoundException {
ActivityManager am = (ActivityManager)activity.getSystemService(Context.ACTIVITY_SERVICE);
String myProcessPrefix = activity.getApplicationInfo().processName;
String myProcessName = activity.getPackageManager().getActivityInfo(activity.getComponentName(), 0).processName;
for (ActivityManager.RunningAppProcessInfo proc : am.getRunningAppProcesses()) {
if (proc.processName.startsWith(myProcessPrefix) && !proc.processName.equals(myProcessName)) {
android.os.Process.killProcess(proc.pid);
}
}
}