본문 바로가기
Android/Develop

[Android] 진동(Vibrator) 사용법

by hyun's life_developer 2019. 7. 24.

 

 

안녕하세요~ 초보개발자 시아아빠입니다!

 

이번 포스팅은 안드로이드에서 진동을 주고싶을 때!! 그 방법에 대해서 포스팅하겠습니다.

 

문자가 왔을 때, 카x이 왔을 때 진동 많이 느껴보셨을텐데요!

 

이 진동 기능은 아시다시피 사용자에게 알리는 기능 또는 이벤트에 대한 인식을 주기위해 사용합니다!

 

그렇기때문에 앱 개발에 필수적인 요소라고 할 수 있는데요! 이제부터 어떻게 구현하는지 보겠습니다!

 

 

우선 진동(Vibrator) 또한 권한 영역인데요.

 

카메라, 전화걸기 등과 마찬가지로 진동을 사용하기 위해서는 권한이 필요합니다.

 

권한은 다들 아시다시피  AndroidManifest.xml에 코드를 추가해주는게 첫번째 순서죠!!

 

1. AndroidManifest.xml에 코드추가

<uses-permission android:name="android.permission.VIBRATE" />

▲이렇게 코드를 추가해주시면 권한 설정은 끝났습니다.

 

 

2. 진동기능 추가하려는 Activity에 vibrator 객체 선언

private Vibrator vibrator;

 

3.  코드에 따라 진동 발생시키고 싶은 시점에 vibrator 객체 정의하기

vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

 

자 진동구현을 위한 준비는 다 끝났습니다. 이제 실행만 하면 되는데요! 

 

실행시키기 전 알아두셔야 할 게 있습니다. 

 

Android에서 제공하는 Vibrator의 사용법은 2가지가 있어요~!

 

Do Vibrator.....?

더보기

1) 지정된 시간동안!

 

2) 지정된 패턴!!

 

첫째! 지정된 시간동안!

 

지정된 시간동안 진동하는 방법은 매개변수에 시간값을 주는데요!

 

이 시간값의 단위는 milisecond인 int형 매개변수라서, 1000ms = 1s가 됩니다!!

 

▼ 지정된 시간동안 진동시키는 법

vibrator.vibrate(1000); //1000ms = 1s    즉, 1초간 진동

ex)

- 1초간 진동 1000

- 0.5초간 500

- 1분간 1*60*1000

 

둘째! 지정된 패턴으로!

 

지정된 패턴동안 진동하는 방법은 패턴을 정의하여 패턴값을 넣어주는 것 인데요!

 

패턴 정의는 아래와 같이 하시면 됩니다.

long[] pattern = {1000, 500, 1000, 500};  //1초 진동! 0.5초 대기! 1초 진동! 0.5초 대기!

vibrator.vibrate(pattern, 0);             //0의 값은 pattern을 무한 반복하겠다!(반복 o)
long[] pattern = {1000, 2000, 3000, 4000}; //1초 진동! 2초 대기! 3초 진동! 4초 대기!
vibrator.vibrate(pattern, -1);             //-1의 값은 이 pattern을 1번 실행 후 끝낸다(반복x)

이같이 진동, 대기, 진동, 대기 패턴으로 정의해주시면 되어요~!

 

0의 값을 주었을 때 무한으로 pattern에 따라 진동을 주게 되는데요!

 

앱 사용시 진동을 무한으로 줄 일은 없죠~?! ㅎㅎ

 

그래서 멈추기 위해서는 아래 코드를 추가하시면 됩니다!!

vibrator.cancel();

 

 

댓글