机器人任务杀
我要杀死在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);
}
}
与代码的问题是,它返回的activityes只列出我的应用程序12次。 并没有任务被杀......
有人可以帮我吗? 谢谢!
你不必杀死其他进程的权利;因此,killProcess()
不适用于您的应用程序。
是的,但它并没有起作用关闭?我有android:name =“android.permission.GET_TASKS”权限,并在日志中可以看到:com.svox.pico 发送信号。 PID:328 SIG:9 jp.co.omronsoft.openwnn 发送信号。 PID:141 IG:9 系统 发送信号。 PID:71 SIG:9 com.android.defcontainer 发送信号。 PID:176 SIG:9 com.android.launcher 发送信号。 PID:190 SIG:9 android.process.media 发送信号。 PID:260 SIG:9 com.android.quicksearchbox :发送信号。 PID:234 SIG:9 com.android.protips 发送信号。 PID:243 SIG:9 ... – Cata 2011-02-07 13:24:24
@Cata:“是的,但它并没有强迫关闭? - 没有。请阅读`killProcess()`的文档。 – CommonsWare 2011-02-07 13:40:16
您正在使用(零)而不是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);
}
}
干杯
是的,现在我已经注意到=))今天我很头晕......问题是这不关闭应用程序。现在我可以看到它们,但是此代码不关闭它们。 – Cata 2011-02-07 12:40:00
你可以杀回来的当前进程使用下面的代码压制:
public void onBackPressed() {
super.onBackPressed();
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
你可以试试这个杀死你的任务或应用程序:
ActivityManager am = (ActivityManager) ctx
.getSystemService(ctx.ACTIVITY_SERVICE);
am.killBackgroundProcesses(packageName);
这适用于2.2及更高版本。
1加来体现
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
2 - 在你的代码
Runtime.getRuntime().exec("adb shell killall com.example.app");
注意,您的应用程序需要访问亚行外壳(系统应用)
那么,有没有办法在Android上杀死其他任务? @Cata:你有没有发现如何做到这一点? – user489152 2011-07-18 13:38:39