android 中判断系统应用和第三方应用

方法一.获取全部应用:  

  1.     PackageManager packageManager = getPackageManager();  
  2.     Intent mIntent = new Intent(Intent.ACTION_MAIN, null);  
  3.     mIntent.addCategory(Intent.CATEGORY_LAUNCHER);  
  4.     List<ResolveInfo> listAllApps = packageManager.queryIntentActivities(mIntent, 0);  
  5. 判断是否系统应用:  
  6.     ResolveInfo appInfo = listAllApps.get(position);  
  7.     String pkgName = appInfo.activityInfo.packageName;//获取包名  
  8.     //根据包名获取PackageInfo mPackageInfo;(需要处理异常)  
  9.     mPackageInfo = mContext.getPackageManager().getPackageInfo(pkgName, 0);  
  10.     if ((mPackageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {  
  11.             //第三方应用  
  12.         } else {  
  13.             //系统应用      
  14.     }  


版权声明:本文为liaobinliaobin原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。