use*_*819 3 sdk android target-sdk targetsdkversion android-10.0
Build.VERSION.SDK_INT
Run Code Online (Sandbox Code Playgroud)
在Android Q模拟器上运行时,返回28而不是29。我有什么想念的吗?我正在尝试添加专门针对Android Q的逻辑,但我不知道如何正确确定此版本。
app.gradle文件包含
targetSdkVersion = 'Q'
compileSdkVersion = 'android-Q'
Run Code Online (Sandbox Code Playgroud)
ian*_*ake 11
在API最终确定并正式成为API 29(要使用的位置compileSdkVersion 29等)之前,您必须使用BuildCompat.isAtLeastQ():
检查设备是否在Android Q的预发行版本上运行。
注意:在运行Android发行版的设备上,此方法将返回false。最终确定要发布的Android Q后,该方法将被弃用,所有调用应替换为
Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q。
请注意,Ian的解决方案需要AndroidX,并且只能通过Java / Kotlin代码获得。
如果您的项目尚未准备好用于AndroidX,或者您需要资源或清单中的值,则可以使用bool资源:
创建res/values/bools.xml并放置<bool name="isQ">false</bool>在那里
创建res/values-v29/bools.xml并放置<bool name="isQ">true</bool>在那里
此时,如果您参考该isQ资源,则将true使用Android Q和更高版本的设备false。
| 归档时间: |
|
| 查看次数: |
921 次 |
| 最近记录: |