【发布时间】:2016-07-28 14:09:16
【问题描述】:
有人可以帮助我获取有关检索当前在 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) 之间的区别,因为我似乎无法理解它们之间的区别。
【问题讨论】: