android 获取apk的版本信息
今天,简单讲讲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的版本信息相关推荐
- android获取apk版本号,android 获取apk的版本信息
释放双眼,带上耳机,听听看~! 今天,简单讲讲android如何获取apk的版本信息. 这个很简单,但是之前还是查找了资料,所以记录一下. 一.应用程序得到自己的版本信息 /** * 得到当前应用版本 ...
- Android Studio开发之获取Apk相关版本信息
序言: 本博客备忘一下,如何获取Apk的app名称,包名以及VersonName等等信息! 将这些方式封装成类,并给出调用示例.希望可以帮助到一些同道中人. 正文: 1.类的封装,直接附上源码: 类名 ...
- Android获取SDK的版本信息
int sdkVersion = Integer.valueOf(android.os.Build.VERSION.SDK);
- android 获取apk中的素材图片
昨天,当我制作app的登录界面时,需要部分图片素材,可是我的公司没有UI工程师来为我制作图片资源,怎么办呢?看到别的app的图片很适合我的app所需图片,老板说直接可以直接从别的app获取图片资源,我 ...
- android apk的md5值,android 获取apk md5值
android 获取apk md5值 1, 获取 Signature 2. 根据Signature计算md5和sha1信息,获取签名公钥信息 TextView text = null; Strin ...
- Android获取cpu和内存信息、网址的代码
android获取手机cpu并判断是单核还是多核 /** * Gets the number of cores available in this device, across all proces ...
- android 获取apk里的xml文件
今天,简单讲讲如何获取 apk里的xml文件. 之前的博客,我讲了如何获取apk的图片资源和反编译获取代码资源,但是如何获取XML资源呢? 一.回顾图片资源的获取: 首先准备一个apk,嘿嘿就是 ...
- android获取进程内存使用信息、一键加速(内存清理)与进程重要级别解析
android获取进程内存使用信息.一键加速(内存清理)与进程重要级别解析 获取进程内存使用信息 获取单个或多个进程 获取系统内存状态的信息 MemoryInfo说明 内存清理 killBackgro ...
- uni-app APP 打包设置版本号和获取当前应用版本信息
设置版本号 获取当前应用版本信息 plus.runtime.getProperty(plus.runtime.appid,(appInfo)=>{// appInfo为当前应用程序的所有信息co ...
最新文章
- 三亚免税店积分抵现_又变了??三亚免税店的政策又变了~
- RasberryPi快速启动(适合首次接触树莓派学习者)
- 10.QML Qt Quick Controls 2之imagine style
- 阿里的“扫地僧”,2年“抄”了20万页古籍
- 微服务架构面试送送送命题!
- plc模拟器软件_关于PLC虚拟化的思考当下及未来
- 如何进行产品战略规划
- webpack4.0各个击破(5)—— Module篇
- git 应用 创建分支 并切换分支
- ubuntu 重装系统备份数据 ubuntu安装kde桌面
- 高中同窗被叫“码子”的!如今转行软件测试,不止是年轻,还有拼搏的勇气
- rope 实用把一段区间的数字整体搬到序列中的一段的时候用
- 各大主流编程语言比较,运用场景
- 计算机技术能力校本培训总结,教师现代教育技术校本培训总结(2篇)
- 小米助手版本信息测试
- 文华财经期货K线多周期画线技术,多重短线技术共振通道线指标公式——多周期主图自动画线
- 试玩网站搭建讲解入门篇
- android设置传感器的采集方向,Android-传感器开发-方向判断
- 构建 Web 应用之 Service Worker 初探
- 1的1次方+2的2次方+3的3次方+...+n的n次方