0
我目前的項目有minSDK 14,我正在嘗試整合Android設備輔助功能設置提供的字幕格式。Android - 輔助功能 - 最小的字幕文件夾
,我要整合僅從API級別19
CaptioningManager.CaptionStyle
介紹的是有沒有辦法,我可以使用API而不改變minSDK的API?
我目前的項目有minSDK 14,我正在嘗試整合Android設備輔助功能設置提供的字幕格式。Android - 輔助功能 - 最小的字幕文件夾
,我要整合僅從API級別19
CaptioningManager.CaptionStyle
介紹的是有沒有辦法,我可以使用API而不改變minSDK的API?
只有SDK支持字幕,您纔可以設置實現字幕的方式。
即,如果我想要的東西是在棒棒糖中引入的,我可以使用此代碼使字幕啓用。
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.LOLLIPOP){
// Do something for lollipop and above versions
} else{
// do something for phones running an SDK before lollipop
}
我不相信你會在19以前的版本中獲得字幕,如果那是它的介紹。
希望這會有所幫助!
從這個答案在這裏借用片段: Retrieving Android API version programmatically
慣於編譯器抱怨,如果你要使用的API功能,出現在未來的版本?在你的情況下,如果你的minSDK是Kitkat,並且你正在嘗試運行Lollipop API,它將導致編譯器錯誤。 – Raghav
不,它只會在你沒有檢查API版本的情況下試圖在普通代碼中使用它時發出抱怨。如果您的MINSDK是kitkat,並且您正在檢查棒棒糖中可用的功能,並且您的targetSDK是marshmellow,那麼您應該沒問題。 –
也就是說,如果你把你的邏輯來使用這裏的括號內的字幕: '如果(currentapiVersion> = android.os.Build.VERSION_CODES.LOLLIPOP){//做點什麼棒棒糖及以上版本}' 你應該沒問題。如果您嘗試使用的項目存在於這些大括號之外,則會出現問題。此外,如果目標SDK不高於您嘗試使用的內容,則會出現問題。 minSDK是您的應用程序運行所需的最小值。如果它們不存在於該版本或支持庫中,它將不具有新SDK中的功能。 –