为了账号安全,请及时绑定邮箱和手机立即绑定

杀死Android上的另一个应用程序?

/ 猿问

杀死Android上的另一个应用程序?

明月笑刀无情 2019-11-19 15:21:14

我试图杀死我的另一个应用程序。但是这段代码无法杀死我的另一个应用程序。我知道杀死另一个应用程序是一个坏主意。但是我有一个学习的目的,并且我试图杀死人。我的代码部分:


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时,特定的应用程序就会在后台运行。我在哪里弄错了?


查看完整描述

2 回答

?
慕容708150

您只能杀死具有与执行杀死操作相同的用户ID的进程。如果您试图杀死自己的进程,那么它应该起作用。否则,您将无法执行此操作(除非您拥有root用户的设备并且您的应用程序具有root用户特权)。


查看完整回答
反对 回复 2019-11-19
?
狐的传说

如果您的设备已植根并且您的应用程序位于/ system / app中,则可以通过以下方式禁用并启用另一个应用程序:


pm.setApplicationEnabledSetting(packageName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);

pm.setApplicationEnabledSetting(packageName,PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);

这将杀死该应用程序,并使其再次可访问。请注意,主屏幕快捷方式会消失。


查看完整回答
反对 回复 2019-11-19

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信