如何检查 Android 12 API 级别?

Posted

技术标签:

【中文标题】如何检查 Android 12 API 级别?【英文标题】:How to check Android 12 API level? 【发布时间】:2021-08-27 07:42:45 【问题描述】:

我正在尝试使用以下代码检查 android 12 API 级别。

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)

     // Do something for Android 12 and above versions 

else

    // Do something for phones running an SDK before Android 12

但在 android 12 beta 设备中运行应用程序时总是执行 else 部分。 是另一种检查android 12 beta版本的方法吗?

【问题讨论】:

【参考方案1】:

要同时检测 Android 12 Beta 版本,您可以使用 Build.VERSION.CODENAME,如下所示:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S || "S".equals(Build.VERSION.CODENAME)) 
    // Android 12 or Android 12 Beta

【讨论】:

【参考方案2】:

BuildCompat.isAtLeastXX(),XX 是你的目标版本。

if (BuildCompat.isAtLeastS()) 
  //Checks if the device is running on a pre-release version of Android S or a release version of Android S or newer.

https://developer.android.com/reference/androidx/core/os/BuildCompat#isAtLeastS()

【讨论】:

以上是关于如何检查 Android 12 API 级别?的主要内容,如果未能解决你的问题,请参考以下文章

Android - 如何在 API 级别 4 的 android WebViewClient 中拦截表单 POST

如果 Android API 级别低于 26,如何将存储访问框架与 MediaMuxer 一起使用

应用程序卡在 Android 12(API 级别 31)的初始屏幕上

检查Android版本[重复]

Android Studio App Inspector 的问题

Android各版本代号版本号API/NDK级别发布时间及市场份额