[英]Android Build.VERSION.SDK_INT returning api 22 but emulator is on api 23
[英]Android Q emulator - Build.VERSION.SDK_INT returns 28
Build.VERSION.SDK_INT
在Android Q模擬器上運行時,返回28而不是29。 我有什么想念的嗎? 我正在嘗試添加專門針對Android Q的邏輯,但我不知道如何正確確定此版本。
app.gradle文件包含
targetSdkVersion = 'Q'
compileSdkVersion = 'android-Q'
在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
資源,則在Android Q和更高版本的設備上將為true
,否則為false
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.