public void getAllAppNames(){
PackageManager pm=getPackageManager();
获取到所有安装了的应用程序的信息,包括那些卸载了的,但没有清除数据的应用程序
List<PackageInfo> list2=pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
//PackageManager.GET_SHARED_LIBRARY_FILES==1024
// List<PackageInfo> list2=pm.getInstalledPackages(PackageManager.GET_SHARED_LIBRARY_FILES);
//PackageManager.GET_META_DATA==128
// List<PackageInfo> list2=pm.getInstalledPackages(PackageManager.GET_META_DATA);
// List<PackageInfo> list2=pm.getInstalledPackages(0);
//List<PackageInfo> list2=pm.getInstalledPackages(-10);
//List<PackageInfo> list2=pm.getInstalledPackages(10000);
int j=0;
for (PackageInfo packageInfo : list2) {
//得到手机上已经安装的应用的名字,即在AndriodMainfest.xml中的app_name。
String appName=packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
//得到手机上已经安装的应用的图标,即在AndriodMainfest.xml中的icon。
Drawable drawable = packageInfo.applicationInfo.loadIcon(getPackageManager());
//得到应用所在包的名字,即在AndriodMainfest.xml中的package的值。
String packageName=packageInfo.packageName;
Log.e("=======aaa", "应用的名字:"+appName);
Log.e("=======bbbb", "应用的包名字:"+packageName);
j++;
}
Log.e("========cccccc", "应用的总个数:"+j);
}
网友评论