android - 在 Android 上杀死另一个应用程序?

标签 android

我正在尝试终止我的另一个应用程序。但是这段代码无法杀死我的另一个应用程序。我知道杀死另一个应用程序是个坏主意。但是我有一个学习的目的,我已经尝试过杀人了。我的代码部分:

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/

相关文章:

android - 我怎样才能实现这个观点?

android ListView 将隐藏值从一个 Activity 传递到另一个

android - 如何在文本转语音中设置荷兰语?

java - CallStaticBooleanMethodV 的返回类型与 Java 方法签名不匹配 - 从 C/C++ 调用 Java 方法

android - 我如何在 google play 商店发布我现有的 ionic 应用程序的更新版本?

java - 不应重新分配 Android 小部件和变量

android - 如何在 android listview 或 linearlayout 中动态设置 marginBottom?

android - 如何检索当前设备位置并将其显示在 fragment 中的 map fragment 上

c# - Xamarin C# Android : Reading a Blob from SQLite

java - 使relativeLayout的一部分可滚动?