![](/img/trans.png)
[英]Which Context to use with MediaPlayer.create() in android?
[英]Android: MediaPlayer() to MediaPlayer(Context context) requires @RequiresApi(s) annotation
在我的 android 应用程序中,我以前使用过
MediaRecorder mediaRecorder = new MediaRecorder();
现在已弃用,取而代之的是MediaRecorder(Context context)
。 但是当我将它传递给我的应用程序上下文时,android 工作室现在要求我用相当于@RequiresApk(S)
的东西来包装它,其中S
目前引用了一个 android sdk 高于我的最小值(1.1)。
我应该怎么办? 我可以(或应该)改变 S 吗? 我真的不知道它来自哪里。 MediaPlayer 从早期就已经存在,所以我真的不明白为什么它需要这样的注释。
非常感谢。
采用Context
参数的MediaRecorder
构造函数在 API 31(“S”或 Android 12)中是新的。 如果您的代码在 API 31 之前的任何版本的 Android 上运行,它将崩溃。 这就是您收到此消息的原因。
即使不推荐使用不带参数的构造函数,您仍需要在低于 API 31 的所有 Android 版本上使用该构造函数。
已弃用的构造函数仍然存在,您仍然可以使用它。 就我个人而言,我不会担心。 如果您真的想迁移到新的构造函数,那么您需要添加代码来检查您正在运行的设备的 API 级别,并在运行 API < 31 的设备上使用较旧的(已弃用)构造函数,并且只使用较新的运行 API 31 或更高版本的设备上的构造函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.