外观
如何使用 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 还会影响兼容行为,不能只检查一个版本值就概括全部差异。
内容来源
- Android · AI Agent 知识手册 · 原条目
16.5.1