Можно ли закрыть приложения программно, которые работают в фоновом режиме в Android?
Я хочу, чтобы остановить или закрыть приложения, которые работают в фоновом режиме в Android. Является ли это возможным? Если так, как этого добиться. Ссылка любые ссылки будут оценены.
Заранее спасибо..
1 ответ
Ты можешь использовать Process.killProcess(int pid)
убить процессы, которые имеют одинаковый UID с вашим приложением. Ты можешь использовать ActivityManager.killBackgroundProcesses(String packageName),with KILL_BACKGROUND_PROCESSES
разрешение в вашем манифесте (для API >= 8) или ActivityManager.restartPackage (String packageName)
(для API < 8) убить указанный процесс, кроме процесса forground.
Поэтому, если вы хотите уничтожить все остальные процессы, когда ваша программа является приоритетным процессом, вы должны использовать ActivityManager.killBackgroundProcesses
или же ActivityManager.restartPackage
:
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);
}
В приведенном выше фрагменте кода каждый процесс будет уничтожен, если это не процесс вашего приложения или системный процесс.