Android 一些应用程序如何仍然可以获取当前的应用程序进程并杀死它们? 背景
在过去,我发现了下一种杀死应用程序后台进程的方法,因为它的包名是:Android 一些应用程序如何仍然可以获取当前的应用程序进程并杀死它们? 背景,android,process,Android,Process,在过去,我发现了下一种杀死应用程序后台进程的方法,因为它的包名是: public static boolean killApp(final Context context, final String packageName) { final ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); final List<ActivityManager.
public static boolean killApp(final Context context, final String packageName) {
final ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
final List<ActivityManager.RunningAppProcessInfo> pids = am.getRunningAppProcesses();
for (int i = 0; i < pids.size(); i++) {
final ActivityManager.RunningAppProcessInfo info = pids.get(i);
if (info.processName.equals(packageName)) {
android.os.Process.killProcess(info.pid);
if (new File("/system/bin/kill").exists()) {
InputStream inputStream = null;
try {
inputStream = Runtime.getRuntime().exec("kill -9 " + info.pid).getInputStream();
final byte[] buffer = new byte[100];
inputStream.read(buffer);
} catch (final IOException e) {
}
StreamsUtil.closeStream(inputStream);
}
am.killBackgroundProcesses(packageName);
return true;
}
}
am.killBackgroundProcesses(packageName);
return false;
}
publicstaticbooleankillapp(最终上下文,最终字符串packageName){
最终ActivityManager am=(ActivityManager)context.getSystemService(context.ACTIVITY_服务);
最后名单
在他们可以这么做之前,他们告诉用户启用应用程序的使用情况统计设置,我记得我使用它来检查应用程序启动时间的一般信息
另一个在没有任何用户确认的情况下成功终止后台进程的应用程序是“”。它还显示了所有被终止进程的祝酒词。我可能错了,但似乎总是相同数量的任务
我还认为有一种相对简单的方法可以使用“ps”函数获取进程列表,但前提是设备是根设备(否则它将只返回当前应用程序的进程)
有一个临时的解决方案,包含一个库,已找到(已发布),但这似乎在Android 7.1.2上不起作用,而且很可能在以前的版本上也不起作用
问题
应用程序如何获取具有后台进程的应用程序列表,以及如何杀死它们
不使用类就可以这样做吗