Привет!
Может кто-нибудь сталкивался с deprecated методами и способами убрать эти ворнинги.
Пишу
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
int result = audioManager.abandonAudioFocusRequest(...) // new method, it is okay, but works only from 26 API
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { ... }
else {
@SuppressWarnings("deprecation")
int result = audioManager.abandonAudioFocus(...) // deprecated method, gives warning, use annotation to get rid of
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { ... }
}
Вынужден вводить две декларации переменной result чтобы применить аннотацию, т.к. метод большой и не хочется ее применять ко всему методу, а просто к вызову deprecated метода ее применить нельзя, можно к декларации локальной переменной например (собственно Int result ...)
Это походу единственный способ когда и новый метод в рантайме выбираем и Lint доволен и можем использовать результат операции. Может кто знает не столь verbose способ?