簡體   English   中英

Android:MediaPlayer() 到 MediaPlayer(Context context) 需要 @RequiresApi(s) 注釋

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM