关于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 = 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
相关文章推荐
- Android逆向之旅---获取加固后应用App的所有方法信息
- Android编程实现应用获取包名、版本号、权限等信息的方法
- Android逆向之旅---获取加固后应用App的所有方法信息
- Android逆向之旅---获取加固后应用App的所有方法信息
- Android逆向之旅---获取加固后应用App的所有方法信息
- Android 获取app应用大小、手机内存信息、删除文件方法、获得文件大小
- Android逆向之旅---获取加固后应用App的所有方法信息
- Android 签名打包出现的错误的解决方法以及代码中获取应用签名信息方法
- android获取APK文件,及应用内部签名信息方法
- Android使用CrashHandler来获取应用的crash信息的方法
- Android逆向之旅---获取加固后应用App的所有方法信息
- Android中如何获取加固后应用App的所有方法信息
- Android 获取应用Crash信息的方法
- Android获取系统已安装应用软件程序(apk)信息
- Android获取已安装应用信息(图标,名称,版本号,包)
- Android获取已安装应用信息(图标,名称,版本号,包)
- Android获取已安装应用信息(图标,名称,版本号,包)
- Android获取已安装应用信息(图标,名称,版本号,包)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- Android获取已安装应用信息(图标,名称,版本号,包)