Skip to content
阅读进度

如何使用 Build.VERSION.SDK_INT 判断当前系统版本? ​

返回 兼容与平台扩展 目录

标准回答 ​

执行较新系统 API 前,用 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.目标版本) 判断,再进入该版本分支;否则使用兼容实现或禁用该能力。compileSdk 让代码能引用新 API,不会让旧设备获得这些 API。

通俗例子 ​

minSdk 为 31,却想调用 API 34 的方法,就在满足版本条件的路径使用,并为旧系统准备等价或降级路径。

深入解释 ​

**运行版本与编译版本不同:**compileSdk 决定编译时能看到哪些 API;SDK_INT 表示实际运行设备的系统版本。编译通过不代表低版本设备能执行那段新 API。

**版本判断怎样保护调用:**在满足对应版本条件的分支中调用新接口,其他分支提供可用替代。targetSdk 还会影响兼容行为,不能只检查一个版本值就概括全部差异。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。