Может ли кто-нибудь помочь мне с примером кода при получении имен пакетов действий, которые в данный момент выполняются в Android?
Отредактировано:
Код 1
ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> processes = am.getRunningAppProcesses();
if (processes != null){
for (int i=0; i<processes.size(); i++){
RunningAppProcessInfo temp = processes.get(i);
String pName = temp.processName;
for (int k=0; k<blacklist.size(); k++){
if (pName.equalsIgnoreCase((String)blacklist.get(k))){
int pid = android.os.Process.getUidForName(pName);
android.os.Process.killProcess(pid);
}
}
}
Код 2?
int pid = temp.pid;
String[] packages = temp.pkgList;
for (int j=0; j<packages.length; j++){
String packageName = packages[j];
for (int k=0; k<blacklist.size(); k++){
if (packageName.equalsIgnoreCase((String)blacklist.get(k))){
//Android 2.2+ kill all background processes
am.killBackgroundProcesses(packageName);
}
}
}
Предполагая, что черный имеет имя пакета приложения программы, которую я занес в черный список и хочу завершить.Какой из приведенного выше кода является правильным способом реализации моей задачи убийцы.Может кто-нибудь объяснить разницу между killBackgroundProcesses (packageName) и android.os.Process.killProcess (pid), поскольку я не могу понять разницу между ними.