2013年8月10日 星期六

android ResolveInfo运用

ResolveInfo介绍:

IntentFilter的意图对解决所传回的信息。这部分收集的信息在AndroidManifest.xml的<intent>标签的对应。
例如:
  1. <intent-filter>  
  2.                 <action android:name="android.intent.action.MAIN"/>  
  3.                 <category android:name="com.action.resolveinfo"/>  
  4.             </intent-filter>  
通过ReslveInfo我们就可以轻松找到设置了这两个标签的Activity:
  1. Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);  
  2.         mainIntent.addCategory("com.actio<span style="font-size:18px;">n.resolveinfo</span>");  
  3.   
  4.         PackageManager pm = getPackageManager();  
  5.         List<ResolveInfo> list = pm.queryIntentActivities(mainIntent, 0);  
就得到了ResolveInfo的集合,我们就可以获取到每个Activity的信息了!
通过 ResolveInfo 获取具体信息方法:
Activity获取方法:resolve.activityInfo.name
Activity包名获取方法:resolve.activityInfo.packageName
App包名获取方法:resolve.activityInfo.applicationInfo.packageName
icon获取获取方法:resolve.loadIcon(packageManager)
应用名称获取方法:resolve.loadLabel(packageManager).toString()

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...