这是在Android模拟器上测试的,得到应用的总个数为:51个。我安装在这个模拟器上的应用就是这个用于测试的这个应用。
下面的代码只是一个方法,测试时这个方法就是用来响应一个按钮的。代码如下:
- public void getAllAppNames(View view){
- PackageManager pm=getPackageManager();
- //PackageManager.GET_UNINSTALLED_PACKAGES==8192
- 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);
- for (PackageInfo packageInfo : list2) {
- //得到手机上已经安装的应用的名字,即在AndriodMainfest.xml中的app_name。
- String appName=packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
- //得到应用所在包的名字,即在AndriodMainfest.xml中的package的值。
- String packageName=packageInfo.packageName;
- Log.i(TAG, "应用的名字:"+appName);
- Log.i(TAG, "应用的包名字:"+packageName);
-
- j++;
- }
- Log.i(TAG, "应用的总个数:"+j);
- }