以下是关于“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。