Android开发Info类总结
2012-07-18 17:01
344 查看
首先我们来看一下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)。
它的间接子类有: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开发60条技术经验总结
- Android开发常用工具总结
- 个人总结--Android 应用开发中国大学生挑战赛
- Android开发中Intent用法总结
- Android开发60条技术经验总结
- Android开发框架模式MVC、MVP使用总结
- android开发中,横竖屏总结
- Android IOS WebRTC 音视频开发总结(二六)-- webrtc调用堆栈
- Android开发总结笔记 绘图工具类 3-6
- Android IOS WebRTC 音视频开发总结(五一)-- 降噪基本原理
- android之JNI开发步骤总结
- Android学习之Bluetooth开发总结<续2>
- 【Android 开发教程】ListView的总结范例
- Cocos2d—X游戏开发之Mac,Windows移植android编译闪退原因总结
- Android开发最实用的功能代码块总结
- Android ——Toolbar开发实践总结(转)
- 【原创】对于一些Android开发过程中坑爹、细小,但又重要的错误的总结