scanLocalInstallAppList(getPackageManager());
public static List<String> scanLocalInstallAppList(PackageManager packageManager) {
List<String> myAppInfos = new ArrayList<String>();
try {
List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0);
for (int i = 0; i < packageInfos.size(); i++) {
PackageInfo packageInfo = packageInfos.get(i);
//过滤掉系统app
// if ((ApplicationInfo.FLAG_SYSTEM & packageInfo.applicationInfo.flags) != 0) {
// continue;
// }
String myAppInfo =packageInfo.packageName;
if (packageInfo.applicationInfo.loadIcon(packageManager) == null) {
continue;
}
myAppInfos.add(myAppInfo);
}
}catch (Exception e){
Log.e(TAG,"===============获取应用包信息失败");
}
return myAppInfos;
}
本文介绍了一种通过PackageManager获取已安装应用程序包名的方法,并提供了一个实用的Java函数实现。该函数能够遍历所有已安装的应用,排除那些没有图标的应用,并返回一个包含所有应用包名的列表。
408

被折叠的 条评论
为什么被折叠?



