Android开发者如何通过代码获取谷歌官方Wear OS版本?
获取Wear OS官方版本的编程实现方案
如果你需要获取谷歌官方提供的Wear OS版本(排除厂商定制修改的版本),可以参考以下两种可靠方案:
方案一:优化你当前的包信息获取方式
你通过com.google.android.wearable.app(谷歌官方Wear核心服务包)获取版本名的思路是可行的,这个包的版本名通常与官方Wear OS版本对应。建议添加异常处理,避免因特殊ROM移除该包导致崩溃:
fun getOfficialWearOsVersion(): String? { return try { val info = packageManager.getPackageInfo( "com.google.android.wearable.app", PackageManager.GET_META_DATA ) info.versionName } catch (e: PackageManager.NameNotFoundException) { // 包未找到时 fallback 到系统基础版本 android.os.Build.VERSION.RELEASE } catch (e: Exception) { null } }
方案二:通过系统属性读取官方版本
谷歌为Wear OS定义了专属系统属性ro.build.version.wear_os,这个属性存储的是纯官方版本号(如4.0),一般不会被厂商定制修改,优先级更高:
fun getWearOsOfficialVersion(): String? { return try { val clazz = Class.forName("android.os.SystemProperties") val getMethod = clazz.getMethod("get", String::class.java) getMethod.invoke(null, "ro.build.version.wear_os") as String? } catch (e: Exception) { // 反射失败时返回null或其他备选值 null } }
注意事项
- 优先使用方案二,若返回null再用方案一兜底
- 部分老旧Wear OS版本可能不支持
ro.build.version.wear_os属性,需做好兼容处理
内容的提问来源于stack exchange,提问作者Umesh Padhiyar
相关产品推荐
相关产品推荐

