resolveActivity和queryIntentActivities

ResolveInfo bestMatch = pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);

List<ResolveInfo> allMatches = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);

 

通过 ResolveInfo 获取具体信息方法:

包名获取方法:resolve.activityInfo.packageName
icon获取获取方法:resolve.loadIcon(packageManager)
应用名称获取方法:resolve.loadLabel(packageManager).toString()

 

// 获取应用程序下所有Activity  
public static ArrayList<String> getActivities(Context ctx) {  
      ArrayList<String> result = new ArrayList<String>();  
      Intent intent = new Intent(Intent.ACTION_MAIN, null);  
      intent.setPackage(ctx.getPackageName());  
      for (ResolveInfo info : ctx.getPackageManager().queryIntentActivities(intent, 0)) {  
          result.add(info.activityInfo.name);  
      }  
      return result;  
  }  

 

posted @ 2016-05-26 16:42  天津大学  阅读(3781)  评论(0编辑  收藏  举报