无法杀死其他进程

not able to kill other process

我想终止其他应用程序,我用谷歌搜索并在 Whosebug 上看到了其他答案,但没有得到满意的答案。在这里,我试图杀死浏览应用程序(用于测试)。我想做的是,我想使用包名终止应用程序。

    Log.d("Process", "in intent");
    ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
    List<ActivityManager.RunningAppProcessInfo> pids = am.getRunningAppProcesses();
    int processid = 0;
    Log.d("Process",String.valueOf(pids.size()) );
    for(int i = 0; i < pids.size(); i++)
    {
        //Toast.makeText(getApplicationContext(),"on if", Toast.LENGTH_SHORT).show();
        ActivityManager.RunningAppProcessInfo info = pids.get(i);
        if(info.processName.equalsIgnoreCase("com.android.browser")){
            Log.d("Process", "in if");
            //Toast.makeText(getApplicationContext(),"in if", Toast.LENGTH_SHORT).show();
           processid = info.pid;
           Log.d("Process",String.valueOf(processid) );
           android.os.Process.sendSignal(pids.get(i).pid, android.os.Process.SIGNAL_KILL);
           android.os.Process.killProcess(processid);

        } 
    }

这是我的代码 有人可以帮我吗?我缺少什么?

在 logcat 我正在发送信号。 PID:1524 SIG:9

首先阅读,重要提示:您只能终止与执行终止操作的用户 ID 相同的进程。如果您试图终止自己的进程,它应该可以工作。否则你不能这样做(除非你有一个 root 设备并且你的应用程序有 root 权限)。


您需要使用 ActivityManager:有关流程信息,请参阅 http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html

你可以:

  1. 获取所有 运行 个应用进程。
  2. 找到您的应用程序。
  3. 获取其 PID。

当你得到 PID:

android.os.Process.killProcess(PID);