프로그래밍/android

[android] Android 12 Vibrator Pattern(진동 패턴) VibratorManager VIBRATOR_MANAGER_SERVICE

-샤리- 2022. 1. 5. 13:53

안드로이드 12 (target 31) 에서 새롭게 VIBRATOR_MANAGER_SERVICE가 추가되어 기존에 사용하던 VIBRATOR_SERVICE가 deprecated 되었다.

 

 

VibratorManager 선언하기 (버전 분기)


val vibrator = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
	val manager = getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
	manager.defaultVibrator
} else {
	@Suppress("DEPRECATION")
	getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
}

 

 

 

vibrate 사용


button1.setOnClickListener {
	val pattern =  longArrayOf(500L, 1000L, 500L, 2000L)
	if (Build.VERSION.SDK_INT >= 26) {
		vibrator.vibrate(VibrationEffect.createWaveform(
			pattern,
			intArrayOf(30, 50, 100, 200),
			-1))
	} else {
		vibrator.vibrate(pattern, -1)
	}
}