【问题标题】:Kill the applications running in background in android杀死在android中后台运行的应用程序
【发布时间】:2013-08-05 07:03:13
【问题描述】:

我正在尝试使用我的应用程序终止后台运行的应用程序,但我无法终止该进程。

android.os.Process.killProcess(pid);
android.os.Process.sendSignal(pid,
android.os.Process.SIGNAL_KILL);
manager.killBackgroundProcesses(pid);

这里的pid是后台运行的进程id。

【问题讨论】:

  • 为什么?你不应该杀死后台进程。
  • 哪个进程也占用大量内存和电池,我想关闭该类型的应用程序进程。

标签: android background kill-process


【解决方案1】:

每个 Android 应用都有自己的用户 ID、组 ID,并且大部分时间都在自己的进程中运行。所以你的应用可能没有权限杀死其他进程。

显然存在设计缺陷,你最好说明你真正想要做什么。

【讨论】:

  • 我想使用我的应用程序关闭之前打开并在后台运行的应用程序。
  • 合理的情况是您告诉应用程序“关闭”,否则我认为您的应用程序不允许强行关闭另一个应用程序。当然,要关闭的应用程序中必须存在一种机制来“接受”此类请求,这可能意味着您也是这些应用程序的作者。
【解决方案2】:

使用这个 killBackgroundProcesses:

   try {
            ActivityManager actvityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
            actvityManager.killBackgroundProcesses(pkgn.toString());// pkgn is a process id /////
        } catch (Exception e) {
            e.printStackTrace();
        }

【讨论】:

    【解决方案3】:

    您还必须在清单中添加它

    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多