Android 진동 울리기
이번 포스팅에서는 Android 기기에 진동을 발생시키는 방법에 대해 알아보자.
Vibrator
Android 에서 제공하는 Vibrator 객체를 이용하여 진동을 발생시킬 수 있다.
https://developer.android.com/reference/android/os/Vibrator
◼ vibrate(long milliseconds)
주어진 시간 동안 진동 발생
Android O(26) 부터 deprecated 됨.
◼ vibrate(android.os.VibrationEffect)
주어진 vibration effect 에 맞춰 진동 발생
Android O(26) 부터 추가됨.
◼ VibrationEffect.createOneShot(long milliseconds, int amplitude)
한 번만 진동을 울릴 경우 사용.
- milliseconds : 진동 시간
- amplitude : 진동의 세기. 기본값은 DEFAULT_AMPLITUDE 이고 지정 값은 1 ~ 255.
◼ VibrationEffect.createWaveform(long[] timings, int[] amplitudes, int repeat)
반복하여 진동을 울릴 때 사용합니다.
- timings : 진동의 패턴으로 반드시 짝수 개수로 작성이 필요. (배열 중 홀수 값 : 대기시간 / 짝수 값 : 진동 시간)
- amplitudes : 진동의 세기. 생략 가능 (생략하는 경우 default 값으로 지정)
- repeat : 진동 반복 여부. 진동을 중지하고 싶다면 cancel() 로 취소 가능.
-1 : 반복 하지 않는다.
0 : 주어진 패턴을 모두 반복
1 : 처음 패턴 후 해당 인덱스 위치의 패턴 반복 으로 계속 반복.
2 : 이 한 번 울린 후 으로 계속 반복.
Example
1. Manifest 등록
"<uses-permission android:name="android.permission.VIBRATE"/>"
2. Main activity 구현
"vibrator.vibrate(VibrationEffect.createOneShot(1000, VibrationEffect.DEFAULT_AMPLITUDE));"
Source code
https://github.com/parkho79/VibrateSample