【发布时间】:2013-08-21 07:02:14
【问题描述】:
我正在关注以下链接中给出的代码:
http://xjaphx.wordpress.com/2011/06/12/create-application-launcher-as-a-list/
列出我手机上已安装的应用程序。
但这里的问题是它列出了所有应用程序。
所有系统相关的应用也喜欢。
网络位置, 谷歌播放的声音搜索, 发射器, 包访问助手
如何过滤不显示不可启动的应用?
我尝试了以下方法:
而不是这个
c.getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA)
我试过了:
c.getPackageManager().getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES)
但结果相同。
有人可以帮我解决这个问题吗?
谢谢!
更新:
感谢 MH 指导。现在我只能从 Playstore 看到已安装的应用程序。如何获取系统默认应用,如 Gmail、时钟、设置、谷歌地图等。
这是我尝试过的:
List<ApplicationInfo> appInfos = c.getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);
List<ApplicationInfo> userAppInfos = new ArrayList<ApplicationInfo>();
List<ApplicationInfo> systemAppInfos = new ArrayList<ApplicationInfo>();
for (ApplicationInfo info : appInfos)
{
if ((info.flags & ApplicationInfo.FLAG_SYSTEM) != 0)
{
systemAppInfos.add(info);
}
else
{
userAppInfos.add(info);
}
}
return userAppInfos;
【问题讨论】:
标签: java android package-managers