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

 PackageInfo、ResolveInfo

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 = MessageSendActivity.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


                                      









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值