android - 如何从任何已安装应用程序的包名称中获取 versionCode?
问题描述
我正在为我的公司创建一个类似游戏商店的应用程序。我已经从我的网络应用程序在我的服务器上上传了 apk。我已经从我的 android 应用程序中的 url 下载了 apk,并提示安装屏幕。现在我想要从 API 获取新版本代码和包名称。我想从包名中获取已安装应用程序的版本代码。如何从我从 API 获得的包名称中获取版本代码?
解决方案
所有提供的答案都是正确的。但是,请注意PackageInfo.versionCode
在 API 级别 28 中已弃用。请getLongVersionCode
改为用于运行 Android Pie 或更高版本的设备,如下所示...
var info: PackageInfo? = null
var versionCode: Long? = null
try {
info = context?.packageManager?.getPackageInfo(context?.packageName, 0)
versionCode =
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) info?.versionCode?.toLong()
else info?.longVersionCode
}
catch(e: PackageManager.NameNotFoundException){
}
推荐阅读
- php - yii2 购物车ajax
- c++ - 如何在 C++ 类中对数据结构进行分类
- c++ - 这是删除整个链表的有效方法吗?
- java - 如何在 JAVA 中为帐户确认邮件创建 Web 令牌
- tomcat - dbcp2 无法加载 JDBC 驱动程序类
- python - 如何在 ndim > 2 数组中使用`apply_along_axis`?
- google-cloud-platform - 谷歌云:服务帐户权限
- android - CardView onTouch onClick
- google-fit - Google Fit 位置数据类型产生 403 Permission Denied
- amazon-web-services - Traefik 不想在 AWS 的 80 端口上工作