Android开发Info类总结
2014-11-21 07:05
316 查看
Android开发Info类总结
2011年8月16日11:20来源:Android中文网
我有话说(0人参与)
首先我们来看一下PackageItemInfo,它是包含了一些信息的基类,它的直接子类有:ApplicationInfo、ComponentInfo、InstrumentationInfo、PermissionGroupInfo、PermissionInfo。
它的间接子类有:ActivityInfo、ProviderInfo、ServiceInfo。这个类包含的信息对于所有包中项目是平等的。这些Package items是被Package manager所持有的。这个类提供了属性的非常普通的基本设置:label、icon和meta-data。这个类的意图不是被自己调用。它在这只是简单地分享被package manager返回的所有items之间的普通定义。比如,它自己并不实现Parcelable接口,但却帮助实现了Parcelable的子类提供了方便的方法。
ApplicationInfo是从一个特定的应用得到的信息。这些信息是从相对应的Androdimanifest.xml的< application>标签中收集到的。
ResolveInfo这个类是通过解析一个与IntentFilter相对应的intent得到的信息。它部分地对应于从AndroidManifest.xml的< intent>标签收集到的信息。
PackageManager这个类是用来返回各种的关联了当前已装入设备了的应用的包的信息。你可以通过getPacageManager来得到这个类。
ApplicationInfo与ResolveInfo比较:前者能够得到Icon、Label、meta-data、description。后者只能得到Icon、Label。
下面讲一下这几个类综合在一起的具体应用:
通过调用PackageManager的方法可以得到两种不同的信息:
首先要得到manager:
PackageManager manager = getPackageManager();
Java代码:
List< ApplicationInfo> appList = manager.getInstalledApplications(PackageManager.GET.UNINSTALLED_PAKAGES);它是通过解析AndroidManifest.xml的< application>标签中得到的,所以它能得到所有的app。
Java代码:
Intent intent = new Intent(Intent.A CTION_MAIN,null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List< ResolveInfo> appList = manager.queryIntentActivities(intent,0);
//它是通过解析< Intent-filter>标签得到有
< action android:name=”android.intent.action.MAIN”/>
< action android:name=”android.intent.category.LAUNCHER”/>
//这样的app,所以得到的要比第一种方法少(前者比它多那种service、previder等app)。
相关文章推荐
- Android开发Info类总结
- Android开发Info类总结
- android围棋游戏开发第三周总结
- android围棋游戏开发第四周总结
- Android 开发程序的优化总结
- Android 几个Info系列类的总结
- android开发环境配置及HelloWorld总结
- android围棋游戏开发第一周总结
- Android 几个Info系列类的总结
- Android app项目和开发总结(初稿)
- Android Webservice 开发总结
- 自己泣血总结:Myeclipse8.5-Android开发环境配置(经测试成功)
- Android平台开发职位招聘要求总结
- Android项目开发技术总结 by wellsoho
- Android 开发环境安装失败问题总结 win7下
- Android开发工具总结
- android 开发总结(2)helloWorld程序
- Android开发环境配置的个人总结,也许对某些RP像我一样低的童鞋有帮助
- Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具)
- 关于android中几个Info系列类的总结