android - 如何在面向 Android 的多 API 级别中使用已弃用的方法?

标签 android soundpool

假设targetSdkVersionxminSdkVersiony (x > y),还有一种方法,在 x 中已弃用,但在 y 中不支持替代方法。如何解决这个问题?

例如,new SoundPool(int, int, int) 在 API 级别 21 中已弃用,替代方法是使用 SoundPool.Builder,但 SoundPool.Builder 不能在 API 级别 14 中使用。

这种情况怎么办?

最佳答案

您可以对操作系统版本进行运行时检查,然后在旧版本中使用已弃用的方法 new SoundPool(int, int, int),而在新版本中您可以使用 SoundPool.Builder

if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.<YOUR_VERSION_X>) {
    //use old method
} else {
    //use new method
}

关于android - 如何在面向 Android 的多 API 级别中使用已弃用的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39960097/

相关文章:

Android ViewBinding 错误 : Cannot access class 'android.widget.no_name_in_PSI_3d19d79d_1ba9_4cd0_b7f5_b46aa3cd5d40'

php - 有没有办法让 flutter webview 使用 android 相机上传文件?如何在 webview_flutter flutter 中打开文件选择器?

android - 希望应用程序在手机插入电源并且源确定为 PC(而非交流插头)时执行一些代码

java - 如何在点击按钮时发出随机声音?

android - 为什么我的 SoundPool 声音不能在 Android 上第一次播放?

java - SoundPool 只停止一次

Android Studio 无法识别 wav 文件

android - 为了使用 runOnUIThread 而扩展 Activity 有什么问题吗?

android - 构建使用 Protocol Buffer 的 Android 可执行 gRPC 服务器(无 APK)

java - 如何用Gson反序列化这个json?