Android 获取系统应用信息


我是仿照andorid launcher里面的方法,现抽取如下:

  1. Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);  
  2. mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);  
  3.   
  4. final PackageManager packageManager = getPackageManager();  
  5. List<ResolveInfo> apps = null;  
  6.   
  7. apps = packageManager.queryIntentActivities(mainIntent, 0);  
  8. mNameList = new ArrayList<String>();  
  9. mDrawableList = new ArrayList<Drawable>();  
  10. mNameList.clear();  
  11. mDrawableList.clear();  
  12. if(apps != null && apps.size() > 0)  
  13. {  
  14.     for (int i = 0; i < apps.size(); i++)  
  15.     {  
  16.         mNameList.add((String) apps.get(i).loadLabel(packageManager));//获取应用名称   
  17.         mDrawableList.add(apps.get(i).loadIcon(packageManager));      //获取应用图片   
  18.         System.out.println(apps.get(i).loadLabel(packageManager));  
  19.     }  
  20. }  

这样就可以过滤出category为Intent.CATEGORY_LAUNCHER的所有的应用了

更多Android相关信息见Android 专题页面 http://www.bkjia.com/topicnews.aspx?tid=11

相关内容