【发布时间】:2013-07-10 05:58:18
【问题描述】:
我正在编写一个 Andoid 应用程序,以便当电池寿命低于某个水平时,会出现一个对话框,其中包含如何保存电池的选项。其中一个选项是使用ActivityManager.killBackgroundProcesses() 关闭所有后台应用程序/服务(进程)。代码如下:
public void TaskKiller( View view){
List<ApplicationInfo> packages;
PackageManager pm;
pm = getPackageManager();
packages = pm.getInstalledApplications(0);
ActivityManager mActivityManager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
for (ApplicationInfo packageInfo : packages) {
mActivityManager.killBackgroundProcesses(packageInfo.packageName);
}
}
但是,当我单击调用 TaskKiller() 并关闭后台进程的按钮时,一些应用程序(电子邮件、谷歌地图)会立即开始重新启动过程。如何更改我的代码以使这些应用程序在重新打开之前保持关闭状态?另外,这种方法在省电方面是否明智,还是我以错误的方式进行攻击?
【问题讨论】:
标签: android process background-process kill kill-process