Метод SmsManager.getDefault()
появился в API 4 (Android 1.6) и помечен устаревшим в API 31 (Android 12). В документации написано, что вместо него лучше использовать Context.getSystemService(SmsManager.class)
, который доступен с API 23 (Android 6).
По-хорошему, если вы делаете приложение для Android 5 и выше, то вы можете использовать старый способ для Android 5 и новый способ для Android 6 и выше:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// новый способ для Android 6 и выше
smsManager = context.getSystemService(SmsManager::class.java)
} else {
// старый способ для Android 5
@Suppress("DEPRECATION")
smsManager = SmsManager.getDefault()
}
Вы можете проигнорировать новый способ и сделать все по-старому, но в какой-то момент в новых версиях Андроида старый способ перестанет работать, тогда вам все равно придется реализовывать функциональность по-новому.
Рекомендую подготовиться к изменениям заранее и реализовать функциональность двумя способами, чтобы не пришлось делать наспех в будущем, когда что-то внезапно перестанет работать.