Android包管理

        //得到PackageManager对象  
        PackageManager pm = getPackageManager();  
        
        //得到系统安装的所有程序包的ApplicationInfo对象  
        //List packs = pm.getInstalledApplications(0);
        //得到系统安装的所有程序包的PackageInfo对象  
        List packs = pm.getInstalledPackages(0);  
          
        for(PackageInfo pi:packs){  
            HashMap map = new HashMap();  
//            //显示用户安装的应用程序,而不显示系统程序  
//          if((pi.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)==0&&  
//                  (pi.applicationInfo.flags&ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)==0){  
//              //这将会显示所有安装的应用程序,包括系统应用程序  
//              map.put("icon", pi.applicationInfo.loadIcon(pm));//图标  
//              map.put("appName", pi.applicationInfo.loadLabel(pm));//应用程序名称  
//              map.put("packageName", pi.applicationInfo.packageName);//应用程序包名  
//              
//              //循环读取并存到HashMap中,再增加到ArrayList上,一个HashMap就是一项  
//              items.add(map);  
//          }  
            
            //这将会显示所有安装的应用程序,包括系统应用程序  
            map.put("icon", pi.applicationInfo.loadIcon(pm));//图标  
            map.put("appName", pi.applicationInfo.loadLabel(pm));//应用程序名称  
            map.put("packageName", pi.applicationInfo.packageName+"::"+pi.applicationInfo.className);//应用程序包名
            System.out.println(pi.applicationInfo.packageName+"::"+pi.applicationInfo.className);
            Log.i("dingchao", pi.applicationInfo.packageName+"::"+pi.applicationInfo.className);
            
            //循环读取并存到HashMap中,再增加到ArrayList上,一个HashMap就是一项  
            items.add(map);  
            //通过包管理来启动应用
            //mIntent = pm.getLaunchIntentForPackage(pi.applicationInfo.packageName);
            //startActivity(mIntent);



你可能感兴趣的:(android开发)