Reputation: 809
I have a my Android app, and I would like to close all other active applications from my app. Is there a way to do it in android?
Upvotes: 2
Views: 4800
Reputation: 59896
To avoid to killing system apps you can do this,i include code for particlur brand like Huawei have own apps (which often contain Huawei) and samsung have own so this code avoid to kill system apps and will close all other apps.System apps often contain android and adil is my package which i dont wanna kill
ActivityManager actvityManager = (ActivityManager)
getApplicationContext().getSystemService( getApplicationContext().ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();
for(int pnum = 0; pnum < procInfos.size(); pnum++)
{
if((procInfos.get(pnum)).processName.contains("android")||(procInfos.get(pnum)).processName.contains("system")||(procInfos.get(pnum)).processName.contains("huawei")||(procInfos.get(pnum)).processName.contains("adil"))
{
//Toast.makeText(getApplicationContext(), "system apps", Toast.LENGTH_SHORT).show();
}
else
{
actvityManager.killBackgroundProcesses(procInfos.get(pnum).processName);
Toast.makeText(getApplicationContext(), "killed "+procInfos.get(pnum).processName, Toast.LENGTH_SHORT).show();
}
}
Upvotes: 0
Reputation: 62391
You can do like this:
int p = android.os.Process.myPid();
android.os.Process.killProcess(p);
Upvotes: 0
Reputation: 15477
You can do something like this,but it is not recommended:
List<ApplicationInfo> packages;
PackageManager pm;
pm = getPackageManager();
//get a list of installed apps.
packages = pm.getInstalledApplications(0);
ActivityManager mActivityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
for (ApplicationInfo packageInfo : packages) {
if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1)continue;
if(packageInfo.packageName.equals("mypackage")) continue;
mActivityManager.killBackgroundProcesses(packageInfo.packageName);
}
Upvotes: 3