Vibrator 클래스
vibrate() 함수가 Android O (API 26) 부터 새롭게 변경
deprecated
vibrate(milliSeconds) :
@Deprecated
@RequiresPermission(android.Manifest.permission.VIBRATE)
public void vibrate(long milliseconds) {
vibrate(milliseconds, null);
}
vibrate(pattern, repeat) :
@Deprecated
@RequiresPermission(android.Manifest.permission.VIBRATE)
public void vibrate(long[] pattern, int repeat) {
vibrate(pattern, repeat, null);
}
API 26 이전 버전 사용 방법
val vibrator = getSystemService(VIBRATOR_SERVICE) as? Vibrator?
// 1초만 진동
vibrator?.vibrate(1000)
// ------------------------------
/**
* 첫번째, 진동 첫 시작 Delay 시간
* 두번째, 진동 시간
* 세번째, 진동간 시간 간격
* 그 이후부터는 진동 -> 진동 시간 반복
*/
val pattern = longArrayOf(0, 100, 1000)
// -1 반복 없음(한번이란 의미), 0 무한 반복
vibrator?.vibrate(pattern, 0)
API 26 이후 버전 사용 방법
// 1회 진동
// 첫번째 파라미터 진동 시간
// 두번째 파라미터 진동 세기 (1 ~ 255)
val pattern = VibrationEffect.createOneShot(1000, VibrationEffect.DEFAULT_AMPLITUDE)
// 패턴 형식
val pattern = VibrationEffect.createWaveform(longArrayOf(100, 200), 2)
vibrator?.vibrate(pattern)
진동 기능을 위해서 AndroidManifest.xml 에 추가해야하는 Permission
<uses-permission android:name="android.permission.VIBRATE"/>
참고 :
stackoverflow.com/questions/13950338/how-to-make-an-android-device-vibrate-with-different-frequency
반응형
'Dev > Android' 카테고리의 다른 글
AndroidX 로 바뀌면서 Activity, Fragment 에 유용한 작업 기능 (0) | 2021.06.29 |
---|---|
XML 에서 뷰모델을 활용해서 텍스트 변경, ViewModel Pattern (0) | 2021.05.18 |
DataBindingUtil 오류 - <layout> 처리 (0) | 2021.04.08 |
include 의 레이아웃에 DataViewBinding 적용 참고 (0) | 2021.04.06 |
Android 기본 개념 정리 (0) | 2021.03.11 |