‘VIBRATOR_SERVICE: String’ is deprecated. Deprecated in Java
以下の様なコードを書いているとdeprecated warningが出る。
val vibrator = context.getSystemService(Context.VIBRATOR_SERVICE) as? Vibrator
メッセージは
'VIBRATOR_SERVICE: String' is deprecated. Deprecated in Java
で、Context.VIBRATOR_SERVICE
はdeprecatedになったので置き換えてくれという内容。
taget SDKを31以降にしていると発生する。
対処方法
SDK version 31以降ではVibratorManager
経由でVibrator
のインスタンスを取得する。
val vibratorManager = context.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as? VibratorManager
val vibrator = vibratorManager?.defaultVibrator
SDK version 30以前も対応するのであればバージョンで分岐する。
val vibrator = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
val vibratorManager = context.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as? VibratorManager
vibratorManager?.defaultVibrator
} else {
@Suppress("DEPRECATION")
context.getSystemService(Context.VIBRATOR_SERVICE) as? Vibrator
}
\確かな知識を身に着けたい、Androidアプリ開発を学びたい人にオススメ!/