gpt4 book ai didi

java - 尝试从 ActivityManager.RunningTaskInfo 获取正在运行的应用程序图标时出错

转载 作者:行者123 更新时间:2023-12-01 14:50:34 25 4
gpt4 key购买 nike

我正在尝试制作一个应用程序,在自定义 ListView 中显示正在运行的应用程序图标,并在单击图标时切换到相应的应用程序。我想我应该使用“ActivityManager.RunningTaskinfo”,“PackageManager”和“intent”来实现它所以我正在尝试..但是我的代码出现错误..我在“topActivity”上出现错误 我该如何修复此错误?以及如何显示“rtid”,这是我从 Activitymanager 和 packagemanager 获得的图标在自定义 ListView 中使用“Drawable[] images = new Drawable[packs.size()];

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(100);
ApplicationInfo appInfo = getPackageManager().getApplicationInfo(tasks.topActivity.getPackageName(), 0);
Drawable rtid = getPackageManager().getApplicationIcon(appInfo);

最佳答案

我认为你可以简单一点。

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(100);
List <Drawable> applicationDrawables = new ArrayList <Drawable>();
PackageManager pacMgr = getPackageManager();

for (ActivityManager.RunningTaskInfo runningTask: tasks)
{
try {
applicationDrawables.add (pacMgr.getApplicationIcon(runningTask.topActivity.getPackageName()));
} catch (NameNotFoundException e) {
e.printStackTrace();
}
}

您的主要问题是您试图获取 ListtopActivity 而不仅仅是一个 RunningTaskInfo 包。

至于显示可绘制对象,您可能必须 create your own custom adapter ,这并不难。

关于java - 尝试从 ActivityManager.RunningTaskInfo 获取正在运行的应用程序图标时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14911993/

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