重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
获取当前应用的版本号:
新吴网站建设公司成都创新互联公司,新吴网站设计制作,有大型网站制作公司丰富经验。已为新吴上千提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的新吴做网站的公司定做!
private String getVersionName() throws Exception
{
// 获取packagemanager的实例
PackageManager packageManager = getPackageManager();
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),0);
String version = packInfo.versionName;
return version;
}
获取当前系统的版本号:
textView.setText("Product Model: " + android.os.Build.MODEL + ","
+ android.os.Build.VERSION.SDK + ","
+ android.os.Build.VERSION.RELEASE);
[img]获取当前应用的版本号:
private String getVersionName() throws Exception
{
// 获取packagemanager的实例
PackageManager packageManager = getPackageManager();
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),0);
String version = packInfo.versionName;
return version;
}
获取当前系统的版本号:
textView.setText("Product Model: " + android.os.Build.MODEL + ","
+ android.os.Build.VERSION.SDK + ","
+ android.os.Build.VERSION.RELEASE);
您好,根据您的需求,可以通过以下两行代码获得相关系统属性:
String
version_sdk
=
Build.VERSION.SDK;
//
设备SDK版本(Android版本号)
String
version_release
=
Build.VERSION.RELEASE;
//
设备的系统版本
希望能帮到您,还有什么问题欢迎您追问。谢谢。
如果是获取手机的SDK版本的话那么直接调用:android.os.Build.VERSION.RELEASE;如果是获取你客户端软件的版本的话那么调用:getPackageManager().getPackageInfo("你的包名", 0).versionName (.versionName或者.versionCode 看你把版本号配置在androidmanifest.xml里面的哪个字段了)
很多时候我们需要知道用户当前使用的是什么系统,甚至是系统的版本号(比如MIUI V7、V8)来进一步处理业务逻辑,比如打开系统权限设置界面。
感谢国内各大Android手机/系统生产商,让我们这些Android开发者每天都乐(伤)此(心)不(欲)疲(绝)的解决这些差异化问题。
通过读取 android.os.Build.MANUFACTURER 常量来获取设备的制造商从而确定设备所使用的系统。
常用 MANUFACTURER 常量对应关系
使用示例:
总结 :此方法通常有效,因为我们通常认为小米的手机使用MIUI系统,华为的手机使用EMUI系统等这种关联关系,那么就可能存在以下情况:
当然如果还想获取系统的版本号,可能这个方法就有点无力回天了。
因此我们可以通过在文件内容中查找一些特征标识从而确定系统类别。
在对 build.prop 进一步了解的过程中,找到了别人对这一部分的具体使用和讲解,这里就不再过多阐述。
别人的使用讲解
别人封装好的工具类
总结 :此方法通常更为有效(取决于特征标识的有效性),但比方法1略复杂一些。但是此方法可能存在一个致命的问题就是可能在某些设备上你无法读取 build.prop 文件,据网上资料显示(华为mate10 及后续的一些新设备无法读取此文件)。
对于以上两种方法,方式不同,也都存在各自的短板,因此在实际生产环境中最好是根据自己的需求而定,甚至是结合两者方法的特点来实现需求,到目前为止并没有找到其它更为行之有效能够适应所有情况的获取系统类型和版本的方法,如果有,谢天谢地请您告诉我,不胜感激。
附录:
小米开发文档- 如何识别小米设备/MIUI系统 ,关于开发文档中提到的读取属性,应该是使用 SystemUtil.java 实现
更多参考资料:
在检测应用程序是否需要升级时,首先应该获取其版本号与服务器端进行比较进行判断是否升级 Android有两个版本号标识,分别为:versionCode,(整数值代表),versionName(字符串代表) 具体方法如下: public static int getVerCode(Context context) { int verCode = -1;try {verCode = context.getPackageManager().getPackageInfo( 包名, 0).versionCode; } catch (NameNotFoundException e) { Log.e(msg, e.getMessage());}return verCode;} public static String getVerName(Context context) { String verName = ;try {verName = context.getPackageManager().getPackageInfo( 包名, 0).versionName;