我正在尝试创建一个能够在列表视图中显示所选应用的应用。我找到了这个链接How to get a list of installed android applications and pick one to run,但它只显示了设备上安装的所有应用。 我要展示的就是我在设备上安装的所有应用程序。所以我想知道我是否可以使用包名称或应用程序名称逐个选择它们,然后使用包管理器将其放在列表视图中?
任何想法都将受到赞赏。
答案 0 :(得分:1)
这是您可以做的,过滤包含您的包名称的包:
List<PackageInfo> packs = context.getPackageManager()
.getInstalledPackages(0);
public static final String MY_APP_PATTERN="com.myapps";
for (int i = 0; i < packs.size(); i++) {
PackageInfo packageInfo = packs.get(i);
if (((packs.get(i).applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1)) {
continue;
}
if(packageInfo.packageName.contains(MY_APP_PATTERN)){
Lod.d(DEBUG_TAG,"This package belongs to me: "+packageInfo.packageName)
packageInfo.applicationInfo.loadLabel(
context.getPackageManager()).toString();
packageInfo.packageName;
packageInfo.versionCode;
packageInfo.applicationInfo.loadIcon(context
.getPackageManager())
}
}
您也可以使用自己的模式匹配器来过滤。