今天,简单讲讲android如何获取apk的版本信息。

这个很简单,但是之前还是查找了资料,所以记录一下。

一、应用程序得到自己的版本信息

    /*** 得到当前应用版本名称的方法* * @param context*            :上下文* @throws Exception*/public static String getVersionName(Context context) throws Exception {// 获取packagemanager的实例PackageManager packageManager = context.getPackageManager();// getPackageName()是你当前类的包名PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);String version = packInfo.versionName;return version;}

二、应用程序获得其他应用程序的版本信息(根据包名)

那从代码来看,其实一方法也可以直接只用二方法得到

    /*** 获取指定包名的版本号* * @param context*            本应用程序上下文* @param packageName*            你想知道版本信息的应用程序的包名* @return* @throws Exception*/public static String getVersionName(Context context, String packageName) throws Exception {// 获取packagemanager的实例PackageManager packageManager = context.getPackageManager();PackageInfo packInfo = packageManager.getPackageInfo(packageName, 0);String version = packInfo.versionName;return version;}

三、从SD卡等路劲获取某安装包(apk文件)的版本信息

这个是我但是需要的,所以重点讲一下。

/**
* 获取apk包的信息:版本号,名称,图标等
* @param absPath apk包的绝对路径
* @param context
*/
public void apkInfo(String absPath,Context context) {  PackageManager pm = context.getPackageManager();  PackageInfo pkgInfo = pm.getPackageArchiveInfo(absPath,PackageManager.GET_ACTIVITIES);  if (pkgInfo != null) {  ApplicationInfo appInfo = pkgInfo.applicationInfo;  /* 必须加这两句,不然下面icon获取是default icon而不是应用包的icon */  appInfo.sourceDir = absPath;  appInfo.publicSourceDir = absPath;  String appName = pm.getApplicationLabel(appInfo).toString();// 得到应用名  String packageName = appInfo.packageName; // 得到包名  String version = pkgInfo.versionName; // 得到版本信息  /* icon1和icon2其实是一样的 */  Drawable icon1 = pm.getApplicationIcon(appInfo);// 得到图标信息  Drawable icon2 = appInfo.loadIcon(pm);  String pkgInfoStr = String.format("PackageName:%s, Vesion: %s, AppName: %s", packageName, version, appName);  Log.i(TAG, String.format("PkgInfo: %s", pkgInfoStr));  }
}

调用的代码如下:

public class TestActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);String archiveFilePath="sdcard/jb51.net.apk";//安装包路径PackageManager pm = getPackageManager();PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);if(info != null){ApplicationInfo appInfo = info.applicationInfo;String appName = pm.getApplicationLabel(appInfo).toString();String packageName = appInfo.packageName; //得到安装包名称String version=info.versionName; //得到版本信息// Toast.makeText(TestActivity.this, , Toast.LENGTH_LONG).show();Drawable icon = pm.getApplicationIcon(appInfo);//得到图标信息TextView tv = (TextView)findViewById(R.id.tv);tv.setText("appName:"+appName+"---packageName:"+packageName);//显示图标ImageView tu=(ImageView)findViewById(R.id.imageView1);tu.setBackgroundDrawable(icon);}}}}
}

这里注意android 6.0时读取SD卡的权限问题。

android 获取apk的版本信息就讲完了。

就这么简单。



android 获取apk的版本信息相关推荐

  1. android获取apk版本号,android 获取apk的版本信息

    释放双眼,带上耳机,听听看~! 今天,简单讲讲android如何获取apk的版本信息. 这个很简单,但是之前还是查找了资料,所以记录一下. 一.应用程序得到自己的版本信息 /** * 得到当前应用版本 ...

  2. Android Studio开发之获取Apk相关版本信息

    序言: 本博客备忘一下,如何获取Apk的app名称,包名以及VersonName等等信息! 将这些方式封装成类,并给出调用示例.希望可以帮助到一些同道中人. 正文: 1.类的封装,直接附上源码: 类名 ...

  3. Android获取SDK的版本信息

    int sdkVersion = Integer.valueOf(android.os.Build.VERSION.SDK);

  4. android 获取apk中的素材图片

    昨天,当我制作app的登录界面时,需要部分图片素材,可是我的公司没有UI工程师来为我制作图片资源,怎么办呢?看到别的app的图片很适合我的app所需图片,老板说直接可以直接从别的app获取图片资源,我 ...

  5. android apk的md5值,android 获取apk md5值

    android 获取apk md5值 1, 获取 Signature 2.   根据Signature计算md5和sha1信息,获取签名公钥信息 TextView text = null; Strin ...

  6. Android获取cpu和内存信息、网址的代码

    android获取手机cpu并判断是单核还是多核 /**  * Gets the number of cores available in this device, across all proces ...

  7. android 获取apk里的xml文件

    今天,简单讲讲如何获取  apk里的xml文件. 之前的博客,我讲了如何获取apk的图片资源和反编译获取代码资源,但是如何获取XML资源呢? 一.回顾图片资源的获取: 首先准备一个apk,嘿嘿就是 ...

  8. android获取进程内存使用信息、一键加速(内存清理)与进程重要级别解析

    android获取进程内存使用信息.一键加速(内存清理)与进程重要级别解析 获取进程内存使用信息 获取单个或多个进程 获取系统内存状态的信息 MemoryInfo说明 内存清理 killBackgro ...

  9. uni-app APP 打包设置版本号和获取当前应用版本信息

    设置版本号 获取当前应用版本信息 plus.runtime.getProperty(plus.runtime.appid,(appInfo)=>{// appInfo为当前应用程序的所有信息co ...

最新文章

  1. 三亚免税店积分抵现_又变了??三亚免税店的政策又变了~
  2. RasberryPi快速启动(适合首次接触树莓派学习者)
  3. 10.QML Qt Quick Controls 2之imagine style
  4. 阿里的“扫地僧”,2年“抄”了20万页古籍
  5. 微服务架构面试送送送命题!
  6. plc模拟器软件_关于PLC虚拟化的思考当下及未来
  7. 如何进行产品战略规划
  8. webpack4.0各个击破(5)—— Module篇
  9. git 应用 创建分支 并切换分支
  10. ubuntu 重装系统备份数据 ubuntu安装kde桌面
  11. 高中同窗被叫“码子”的!如今转行软件测试,不止是年轻,还有拼搏的勇气
  12. rope 实用把一段区间的数字整体搬到序列中的一段的时候用
  13. 各大主流编程语言比较,运用场景
  14. 计算机技术能力校本培训总结,教师现代教育技术校本培训总结(2篇)
  15. 小米助手版本信息测试
  16. 文华财经期货K线多周期画线技术,多重短线技术共振通道线指标公式——多周期主图自动画线
  17. 试玩网站搭建讲解入门篇
  18. android设置传感器的采集方向,Android-传感器开发-方向判断
  19. 构建 Web 应用之 Service Worker 初探
  20. 1的1次方+2的2次方+3的3次方+...+n的n次方

热门文章

  1. webstorm主要快捷键
  2. 基于EasyNVR二次开发实现业务需求:直接集成EasyNVR播放页面到自身项目
  3. Oracle 创建dblink
  4. 用sed或awk输出一段文字
  5. t-sql导出EXCEL语句
  6. 客户端页面不更新CSS样式或JS脚本的方法 (2018-08-17 17:33)
  7. 机器人防火墙:人机识别在应用安全及风控领域的一点实践
  8. C#微信开发小白成长教程二(新手接入指南,附视频)
  9. 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等
  10. IOS 关于ipad iphone5s崩溃 解决