您的位置:首页 > 移动开发 > Android开发

关于Android的应用信息获取方法

2014-11-24 16:12 501 查看
 



PackageItemInfo,它是包含了一些信息的基类,

它的直接子类有:ApplicationInfo、
ComponentInfo、InstrumentationInfo、PermissionGroupInfo、PermissionInfo。
它的间接子类有:ActivityInfo、ProviderInfo、ServiceInfo。

这个类包含的信息对于所有包中项目是平等的。这些Package items是被Package manager所持有的。

这个类提供了属性的非常普通的基本设置:label、icon和meta-data。

这个类的意图不是被自己调用。它在这只是简单地分享被package manager返回的所有items之间的普通定义。比如,它自己并不实现Parcelable接口,但却帮助实现了Parcelable的子类ResolveInfo提供了方便的方法。

 ApplicationInfo是从一个特定的应用得到的信息。这些信息是从相对应的Androdimanifest.xml的<
application>标签中收集到的。

 ResolveInfo这个类是通过解析一个与IntentFilter相对应的intent得到的信息。它部分地对应于从AndroidManifest.xml的<intent>标签收集到的信息。

 ApplicationInfo与ResolveInfo比较:前者能够得到Icon、Label、meta-data、description。后者只能得到Icon、Label。


PackageManager这个类是用来返回各种的关联了当前已装入设备了的应用的包的信息。你可以通过getPacageManager来得到这个类。


packageManager
packagemanager=context.getPackageManager;


11:list<ApplicationInfo>listapp=packagemanager.getInstallenApplication(PackageManager.GET.UNINSTALLED_PAKAGES);

22:Intent
intent=new Intent(Intent.A CTION_MAIN,null);

   intent.addCategory(Intent.CATEGORY_LAUNCHER)


list<ResolveInfo>listresolve=packagemaneger.queryIntentActivity(intent,0);



1: PackageManager
pManager = MessageSend
Activity.this.getPackageManager();
 List<PackageInfo>
appList  =
Utils.getAllApps(MessageSendActivity.this);   


    PackageInfo pinfo
= appList.get(i);

pManager.getApplicationIcon(pinfo.applicationInfo);

pManager.getApplicationLabel(pinfo.applicationInfo).toString();

pinfo.applicationInfo.packageName

2:PackageManager
pManager = MessageSendActivity.this.getPackageManager();

List<ResolveInfo>
resolveList  =Utils.getShareApps(MessageSendActivity.this);

ResolveInfo
resolve = resolveList.get(i);

resolve.loadIcon(pManager);

resolve.loadLabel(pManager).toString();

resolve.activityInfo.packageName;



总结:

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

包名获取方法:applicationInfo.packageName

icon获取获取方法:packageManager.getApplicationIcon(applicationInfo)

应用名称获取方法:packageManager.getApplicationLabel(applicationInfo)

使用权限获取方法:packageManager.getPackageInfo(packageName,PackageManager.GET_PERMISSIONS)

.requestedPermissions

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

包名获取方法:resolve.activityInfo.packageName

icon获取获取方法:resolve.loadIcon(packageManager)

应用名称获取方法:resolve.loadLabel(packageManager).toString()

参考:
http://www.cnblogs.com/feng88724/archive/2011/02/21/1961222.html
http://www.linuxidc.com/Linux/2011-12/49964p2.htm
http://android.tgbus.com/Android/tutorial/201108/364210.shtml

                    





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: