Dev/Android

Android 진동 Vibrate

healthyryu 2021. 4. 15. 11:54
반응형

 

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

 

How to make an Android device vibrate? with different frequency?

I wrote an Android application. Now, I want to make the device vibrate when a certain action occurs. How can I do this?

stackoverflow.com

parkho79.tistory.com/122

 

Android 진동 울리기

이번 포스팅에서는 Android 기기에 진동을 발생시키는 방법에 대해 알아보자. Vibrator Android 에서 제공하는 Vibrator 객체를 이용하여 진동을 발생시킬 수 있다. https://developer.android.com/reference/and..

parkho79.tistory.com

 

반응형