Android:得到手机上安装的所有应用的名字以及应用所在的包名

来源:互联网 发布:python split 多个空格 编辑:程序博客网 时间:2024/05/17 22:01

http://blog.csdn.net/yongweish/article/details/49273379


这是在Android模拟器上测试的,得到应用的总个数为:51个。我安装在这个模拟器上的应用就是这个用于测试的这个应用。

下面的代码只是一个方法,测试时这个方法就是用来响应一个按钮的。代码如下:

[html] view plain copy
  1. public void getAllAppNames(View view){  
  2.         PackageManager pm=getPackageManager();  
  3.         //PackageManager.GET_UNINSTALLED_PACKAGES==8192  
  4.         List<PackageInfo> list2=pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);  
  5.         //PackageManager.GET_SHARED_LIBRARY_FILES==1024  
  6.         //List<PackageInfo> list2=pm.getInstalledPackages(PackageManager.GET_SHARED_LIBRARY_FILES);  
  7.         //PackageManager.GET_META_DATA==128  
  8.         //List<PackageInfo> list2=pm.getInstalledPackages(PackageManager.GET_META_DATA);  
  9.         //List<PackageInfo> list2=pm.getInstalledPackages(0);  
  10.         //List<PackageInfo> list2=pm.getInstalledPackages(-10);  
  11.         //List<PackageInfo> list2=pm.getInstalledPackages(10000);  
  12.         for (PackageInfo packageInfo : list2) {  
  13.             //得到手机上已经安装的应用的名字,即在AndriodMainfest.xml中的app_name。  
  14.             String appName=packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();  
  15.             //得到应用所在包的名字,即在AndriodMainfest.xml中的package的值。  
  16.             String packageName=packageInfo.packageName;  
  17.             Log.i(TAG, "应用的名字:"+appName);  
  18.             Log.i(TAG, "应用的包名字:"+packageName);  
  19.               
  20.             j++;  
  21.         }  
  22.         Log.i(TAG, "应用的总个数:"+j);  
  23.     }  
0

0 0