getrunningtasks在androidl中不起作用

  • Post category:other

以下是关于“getrunningtasks在Android L中不起作用”的完整攻略,包含两个示例。

getRunningTasks在Android L中不起作用

在Android L中,getTasks方法已经被废弃,不再起作用。这是因为Android L中引了新的权限模型,应用程序不能再访问应用程序的任务列表。因此,如果您的应用程序需要获取正在运行的任务列表,您需要使用新的API。

1. 使用新的API

在Android L中,您可以使用新的API来获取正在运行的任务列表。以下是使用新API的示例代码:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.AppTask> tasks = am.getAppTasks();
for (ActivityManager.AppTask task : tasks) {
    ActivityManager.RecentTaskInfo info = task.getTaskInfo();
    // 处理任务信息
}

在这个示例中,我们使用ActivityManager的getAppTasks方法获取正在运行的任务列表。然后,我们遍历任务列表,获取每个任务的信息。

2. 使用旧的API

如果您的应用程序需要在Android L之前的版本中运行,并且需要获取正在运行的任务列表,您可以使用旧的API。以下是使用旧API的示例代码:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(10);
for (ActivityManager.RunningTaskInfo task : tasks) {
    // 处理任务信息
}

在这个示例中,我们使用ActivityManager的getRunningTasks方法获取正在运行的任务列表。然后,我们遍历任务列表,获取每个任务的信息。

示例一:使用新API获取正在运行的任务列表

以下是一个使用新API获取正在运行的任务列表的示例:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.AppTask> tasks = am.getAppTasks();
for (ActivityManager.AppTask task : tasks) {
    ActivityManager.RecentTaskInfo info = task.getTaskInfo();
    // 处理任务信息
}

在这个示例中,我们首先获取ActivityManager实例,并使用getAppTasks方法获取正在运行的任务列表。然后,我们遍历任务列表,获取每个任务的信息。

示例二:使用旧API获取正在运行的任务列表

以下是一个使用旧API获取正在运行的任务列表的示例:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(10);
for (ActivityManager.RunningTaskInfo task : tasks) {
    // 处理任务信息
}

在这个示例中,我们首先获取ActivityManager实例,并使用getRunningTasks方法获取正在运行的任务列表。然后,我们遍历任务列表,获取每个任务的信息。

结论

在Android L中,getRunningTasks方法已经被废弃,不再起作用。如果您的应用程序需要获取正在运行的任务列表,您需要使用新的API。在实际中,我们可以使用ActivityManager的getAppTasks方法获取正在运行的任务列表,并遍历任务列表,获取每个任务的信息。如果您的应用程序需要在Android L之前的版本中运行,并且需要获取正在运行的任务列表,您可以使用旧的API。