एपीआई 19 (किटकैट) में शुरू किया गया एक नया एपीआई है: एक्टिविटमैनेजर.क्लेयर एप्लायस
यूसरडाटा () ।
मैं नए अनुप्रयोगों में इसका उपयोग करने की अत्यधिक सलाह देता हूं:
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.
}
यदि आप हैकी तरीका नहीं चाहते हैं तो आप UI पर बटन भी छिपा सकते हैं, ताकि कार्यक्षमता पुराने फोन पर उपलब्ध न हो।
इस विधि का ज्ञान किसी का उपयोग करने के लिए अनिवार्य है android:manageSpaceActivity।
जब भी मैं इसका उपयोग करता हूं, मैं ऐसा करता हूं manageSpaceActivityजिसमें से एक है android:process=":manager"। वहां, मैं अपने ऐप की अन्य प्रक्रियाओं को मैन्युअल रूप से मारता हूं। यह मुझे यूआई को चलने देने की अनुमति देता है और उपयोगकर्ता को यह तय करने देता है कि आगे कहां जाना है।
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);
}
}
}