gpt4 book ai didi

java - 如何在android中杀死当前正在运行的任务

转载 作者:IT老高 更新时间:2023-10-28 23:28:58 27 4
gpt4 key购买 nike

我正在尝试在 android 中构建一个任务 killer 类型的应用程序。我可以使用 ActivityManager 显示当前正在运行的任务列表,但在终止任务时遇到问题。

这是我获取当前正在运行的任务列表的方法:

ActivityManager am = (ActivityManager) context.
getSystemService(Activity.ACTIVITY_SERVICE);
List<RunningTaskInfo> a = am.getRunningTasks(Integer.MAX_VALUE);

PackageManager pack = this.getPackageManager();

for(int i = 0; i < a.size(); i++) {
String packageName = a.get(i).topActivity.getPackageName();
Drawable d = null;
String appName = "";

try {
d = pack.getApplicationIcon(packageName);
appName = (String)pack.getApplicationLabel(pack.getApplicationInfo(packageName,PackageManager.GET_META_DATA));
} catch (NameNotFoundException e) {
e.printStackTrace();
}

packName.add(packageName); //arraylist of package name
apps.add(appName); // arraylist of app name
icons.add(d); //arraylist of icons
}

它对我有用但现在我正试图使用​​ killBackgroundProcesses 终止任务:

am.killBackgroundProcesses(package name);

它没有用。此外,API 级别 2.2 中提供了 killBackgroundProcesses 方法,那么我如何在以前的 API 级别(例如 1.6 等)中执行相同的任务。

有没有其他方法可以显示当前 Activity 的应用并杀死它们?

最佳答案

除了 Android 操作系统本身,没有人可以杀死进程。

android 市场中的大多数任务 killer 不会杀死应用程序,他们只是重新启动进程

通过使用

public void restartPackage (String packageName)

当您的 Activity 调用此方法时,操作系统会立即调用

savedInstanceState 并保存您要终止的 Activity 的状态。现在这个过程是

从内存中删除,操作系统保存了它的状态。现在当用户下次启动该 Activity 时

将从它被杀死或重新启动的地方开始。您可以从任何验证它

任务管理器他们不会杀死进程,因为没有人可以这样做。这个方法也

在 ICS 工作。

以上方法可以看here .据我所知 killBackgroundProcesses (String packageName) 适用于 API 8 及更高版本。

关于java - 如何在android中杀死当前正在运行的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8814696/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com