パンダのメモ帳

技術系のネタをゆるゆると

Vibrator で端末のバイブレーションを制御

Android アプリケーションから端末のバイブレーターを制御して、ブルッとさせる方法について。

1. 前提

アプリケーションからバイブレーターを制御するには AndroidManifest.xml に以下の記述が必要。

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

こんな些細なことにまでパーミッション設定が必要なのね……。

2. 実装

直接 Activity から振動させる場合は次の通り。

// ちょっとだけブルッとさせる(30ミリ秒)
((Vibrator)getSystemService(VIBRATOR_SERVICE)).vibrate(30);

Activity の外から振動させる場合は引数等で Context オブジェクトを受け取る必要がある。

public void vibrate(Context context, long milliseconds) {
  ((Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE)).vibrate(milliseconds);
}