如何获取Android项目的VersionName的getPackageManager()
来源:互联网 发布:贵阳浪人网络市值 编辑:程序博客网 时间:2024/05/23 01:24
代码笔记:
/** * 得到应用层序的版本名称 * * @return */ private String getVersionName() { // 用于管理安装的apk和未安装的apk PackageManager packageManager = getPackageManager(); try { // 得到apk的功能清单文件:为了防止出错直接使用getPackageName()方法获得包名 // packageManager.getPackageInfo("com.xuliugen.mobilesafe", 0); PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0); //返回版本名称 return packageInfo.versionName; } catch (NameNotFoundException e) { e.printStackTrace(); return ""; } }
getPackageManager()API介绍:
常用方法:
public abstract PackageManager getPackageManager() 功能:获得一个PackageManger对象
public abstract Drawable getApplicationIcon(String packageName)参数: packageName 包名功能:返回给定包名的图标,否则返回null
public abstract ApplicationInfo getApplicationInfo(String packageName, int flags)参数: packagename 包名 flags 该ApplicationInfo是此flags标记,通常可以直接赋予常数0即可功能:返回该ApplicationInfo对象
public abstract List<ApplicationInfo> getInstalledApplications(int flags)参数: flag为一般为GET_UNINSTALLED_PACKAGES,那么此时会返回所有ApplicationInfo。我们可以对ApplicationInfo 的flags过滤,得到我们需要的。功能:返回给定条件的所有PackageInfo
public abstract List<PackageInfo> getInstalledPackages(int flags) 参数如上功能:返回给定条件的所有PackageInfo
public abstractResolveInfo resolveActivity(Intent intent, int flags)参数: intent 查寻条件,Activity所配置的action和category flags: MATCH_DEFAULT_ONLY :Category必须带有CATEGORY_DEFAULT的Activity,才匹配 GET_INTENT_FILTERS :匹配Intent条件即可 GET_RESOLVED_FILTER :匹配Intent条件即可功能 :返回给定条件的ResolveInfo对象(本质上是Activity)
public abstract List<ResolveInfo> queryIntentActivities(Intent intent, int flags)参数同上功能 :返回给定条件的所有ResolveInfo对象(本质上是Activity),集合对象
public abstract ResolveInfo resolveService(Intent intent, int flags)参数同上功能 :返回给定条件的ResolveInfo对象(本质上是Service)
public abstract List<ResolveInfo> queryIntentServices(Intent intent, int flags)参数同上功能 :返回给定条件的所有ResolveInfo对象(本质上是Service),集合对象
PackageInfo类
说明:手动获取AndroidManifest.xml文件的信息 。
常用字段:
public String packageName 包名public ActivityInfo[] activities 所有<activity>节点信息public ApplicationInfo applicationInfo <application>节点信息,只有一个public ActivityInfo[] receivers 所有<receiver>节点信息,多个public ServiceInfo[] services 所有<service>节点信息 ,多个
PackageItemInfo类
说明: AndroidManifest.xml文件中所有节点的基类,提供了这些节点的基本信息:label、icon、 meta-data。它并不
直接使用,而是由子类继承然后调用相应方法。
ApplicationInfo类 继承自 PackageItemInfo
说明:获取一个特定引用程序中节点的信息。
字段说明:flags字段: FLAG_SYSTEM 系统应用程序、FLAG_EXTERNAL_STORAGE 表示该应用安装在sdcard中
常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()
ActivityInfo类 继承自 PackageItemInfo
说明: 获得应用程序中或者 节点的信息 。我们可以通过它来获取我们设置的任何属性,包括
theme 、launchMode、launchmode等
常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()
ServiceInfo 类
说明: 同ActivityInfo类似 ,同样继承自 PackageItemInfo,只不过它表示的是节点信息。
ResolveInfo类
说明:根据节点来获取其上一层目录的信息,通常是、、节点信息。
4 0
- 如何获取Android项目的VersionName的getPackageManager()
- 如何获取Android项目的VersionName的getPackageManager()
- android versionCode versionName的获取
- android-getPackageManager().hasSystemFeature(String string)的应用
- android中获取package的versionCode和versionName
- 代码获取Android的VersionCode和VersionName信息
- Android Studio获取app的versionName和versionCode
- versionCode与versionName的区别、应用、获取
- 获取应用的versioncode和versionname
- 【Android Studio开发】Android Studio如何获取versionname和versioncode
- android的versionCode与versionName的区别
- 在Android studio中获取到的 VersionName 一直是1.0 VersionCode 一直是1 的问题
- Android VersionCode和VersionName的作用
- android 获取到的版本号一直显示为1.0 VersionName VersionCode
- Android 获取到的 VersionName 和 VersionCode 一直是1.0 和 1
- android获取versionName和versionCode
- Android打包一个Apk后,如何查看它的VersionCode、VersionName 等等。
- Android打包一个Apk后,如何查看它的VersionCode、VersionName 等等。
- ROS 学习系列-- 四轮机器人线性速率、角速度和电机PWM线性关系的定量分析
- stl map遍历和删除的方法
- Spring AOP应用实例demo
- LeetCode--Two Sum(排序or Hash)
- HDU - 5186 zhx's submissions
- 如何获取Android项目的VersionName的getPackageManager()
- C语言中的运算符号
- 风险投资vc
- python升级
- 解决ActionBar中的item不显示在ActionBar的问题
- 一个球从100米高自由落下,每次落地后反弹回原高度的一半,再反弹,再落下。求第10次落地时,共经过多少米?第10次反弹多高?
- 陈设设计随笔1
- 2014年阿里研发笔试题:在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度
- C语言 字符数组赋值的方法 整理