我想杀死在android中运行的所有任务,比如任务杀手...... 我到现在所做的是:
ActivityManager manager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningAppProcessInfo> activityes = ((ActivityManager) manager).getRunningAppProcesses();
for (int i = 0; i < activityes.size(); i++){
Log.e("APP: "+i, activityes.get(0).processName);
if (!activityes.get(0).processName.equals("app.android.myapp")){
Process.killProcess(activityes.get(0).pid);
}
}
代码的问题是它只在我的应用程序的活动列表中返回了12次。 没有任务被杀......
是的,有人能帮帮我吗? 谢谢!答案 0 :(得分:10)
您无权杀死其他进程;因此,killProcess()
不适用于您的应用。
答案 1 :(得分:4)
你在循环中使用 0 (零)代替 i 。
for (int i = 0; i < activityes.size(); i++){
Log.e("APP: "+i, activityes.get(i).processName);
if (!activityes.get(i).processName.equals("app.android.myapp")){
Process.killProcess(activityes.get(i).pid);
}
}
干杯
答案 2 :(得分:2)
您可以使用以下代码终止当前进程:
public void onBackPressed() {
super.onBackPressed();
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
答案 3 :(得分:1)
你可以尝试这个来杀死你的任务或应用程序:
ActivityManager am = (ActivityManager) ctx
.getSystemService(ctx.ACTIVITY_SERVICE);
am.killBackgroundProcesses(packageName);
这适用于2.2及以上。
答案 4 :(得分:0)
1-添加到清单
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
2 - 在您的代码中
Runtime.getRuntime().exec("adb shell killall com.example.app");
请注意,您的应用需要访问adb shell(系统应用)