June 15, 2012

バイブレーションを使う

バイブレーションの使い方です。

バイブレーションの操作はVibratorクラスを使いますが、OSのシステムサービスとして提供されていますので、インスタンスはgetSystemService()で取得して操作します。機能は下記の3種類です。時間の単位はすべてms(ミリ秒)です。パターンはOFFから始まり、ON、OFF・・・と任意の回数で自由に設定できます。

  • 1回だけ指定時間ONにする
  • 指定のON/OFFパターンを1回だけONにする
  • 指定のON/OFFパターンを停止されるまでずっと繰り返す

例)上記の3種類で動かす場合

long pattern[] = {0, 100, 50, 200}; // Off, On, Off, On [ms]
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
switch (type) {
case 1:
    vibrator.vibrate(200); // [ms]
    break;
case 2:
    vibrator.vibrate(pattern, -1); // No repeat
    break;
case 3:
    vibrator.vibrate(pattern, 0); // Start repeat
    break;
case 4:
    vibrator.cancel(); // Stop repeat
    break;
}

パーミッションの設定が必要です。

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

パーミッションはPermissionsタブから簡単にブラウズして追加できます。


参考:Android Developers:Vibrator
参考:Android Developers:Context - getSystemService()

No comments:

Post a Comment