我正在尝试制作一个将在列表视图中显示所选应用程序的应用程序。我找到了这个链接How to get a list of installed android applications and pick one to run,但它只显示设备上安装的所有应用程序。我只想展示我在设备上安装的所有应用程序。所以我想知道我是否可以使用包名称或应用名称一一选择它们,然后使用包管理器将其放在列表视图中?
任何想法将不胜感激。
我正在尝试制作一个将在列表视图中显示所选应用程序的应用程序。我找到了这个链接How to get a list of installed android applications and pick one to run,但它只显示设备上安装的所有应用程序。我只想展示我在设备上安装的所有应用程序。所以我想知道我是否可以使用包名称或应用名称一一选择它们,然后使用包管理器将其放在列表视图中?
任何想法将不胜感激。
这是你可以做的,过滤包含你的包名的包:
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())
}
}
您还可以使用自己的模式匹配器来过滤开头。