앱을 만들때 사용자에게 알리는 방법중 Vibrator는 매우 중요한 수단중 하나인데요.

오늘은 Vibrator를 사용하는 방법에 대해서 정리해보겠습니다.



1. Manifest 설정


제일 먼저 해주어야 하는것은 permission을 얻는 것인데요.

다행히도 동적으로 얻어야 하는 수준의 permission은 아닙니다~.

manifest에 uses-permission만 VIBRATE에 대해서 정의해주면 되네요.




2. Vibrator 객체 얻기


이제, Vibrator객체를 얻어서, 멤버 메소드들로 실행시켜야 되는데요.

안드로이드 하드웨어와 관련된 클래스들이 그렇듯이,

getSystemService 메소드를 사용해서 객체를 얻어와야 합니다.




2. vibrate 메소드로 진동 시키기


객체가 생겼으므로, 이제 멤버 메소드로 진동을 시켜보도록 하겠습니다.

진동시킬때 사용하는 메소드는 vibrate()인데요. 


인자로 얼마동안 진동을 줄것인지 넘겨주면 됩니다.

이 때 단위는 millisecond 이구요.

아래의 코드는 1초동안 진동을 주라고 한 것이 됩니다.




진동을 한번만 줄 수도 있지만, 여러차례 계속 줄수도 있을 텐데요.

이번에는 패턴을 주어서 패턴대로 진동하도록 해보겠습니다.


이 때 사용하는 메소드의 소스코드를 잠시 보겠습니다.

long타입의 array를 첫번째 인자로 넘겨주어야 하구요, 

"진동이 오기전 대기하는 시간, 진동이 지속되는 시간" 순으로 주면 됩니다.

두번째 인자는 진동을 계속 패턴대로 반복시킬것인지 아닌지에 대해서 넘겨주면 되는데요.

-1이면 반복하지않고, 0을 넘겨주면 계속 반복하도록 합니다.




아래와 같은 경우, 1초 대기후, 3초동안 진동을 주는데요.

두번째 인자로 0을 주어서 계속 반복시키도록 하였습니다.




그런데, 진동을 시켰으니, 취소도 해야겠는데요.

이 때는 cancel메소드를 사용하면 됩니다.

아래와 같이 버튼을 누르면, cancel되도록 하겠습니다.




생각보다, 안드로이드의 진동을 알리는 것은 쉬운편입니다.

패턴을 주어서 반복을 시킨 경우에, 안드로이드 생명주기에서 

destroy나 stop되는 시기에 cancel되도록 해주는 것만 잊지 않으면 될 것 같습니다.


+ Recent posts