我正在尝试终止我的另一个应用程序。但是这段代码无法杀死我的另一个应用程序。我知道杀死另一个应用程序是个坏主意。但是我有一个学习的目的,我已经尝试过杀人了。我的代码部分:
Button runningApp = (Button) findViewById(R.id.runningApp);
runningApp.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
String nameOfProcess = "com.example.filepath";
ActivityManager manager = (ActivityManager)ApplicationActivity.this.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> listOfProcesses = manager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo process : listOfProcesses)
{
if (process.processName.contains(nameOfProcess))
{
Log.e("Proccess" , process.processName + " : " + process.pid);
android.os.Process.killProcess(process.pid);
android.os.Process.sendSignal(process.pid, android.os.Process.SIGNAL_KILL);
manager.killBackgroundProcesses(process.processName);
break;
}
}
}
});
我已经添加了权限,它们是:
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<uses-permission android:name="android.permission.GET_TASKS" />
每次我都能看到 LogCat ,特定应用程序正在后台运行。我哪里错了?
最佳答案
您只能终止与执行终止操作的用户 ID 相同的进程。如果您试图终止自己的进程,它应该可以工作。否则您将无法执行此操作(除非您拥有获得 root 权限的设备并且您的应用程序具有 root 权限)。
关于android - 在 Android 上杀死另一个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12036895/