簡単にバイブレーションを扱いたい人向け。
 バイブレーションを鳴らす方法。
 Android 8.0 Oreo API26から簡易なバイブレーションは利用できなくなったので、下記のような方法で利用する必要がある。使い方はVibrationEffectを作成して、いろいろ設定して渡してあげるだけ。

//単純に何ms間か振動させる方法 //振動の種類はVibrationEffectで選択 第一引数は何ms振動させるか、第二引数は振動の強さ1~255 デフォルトはDEFAULT_AMPLITUDE val vibrator: Vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator val vibrationEffect: VibrationEffect = VibrationEffect.createOneShot(1000, DEFAULT_AMPLITUDE) vibrator.vibrate(vibrationEffect)



//指定したミリセカンドで振動をオンオフさせる方法(リピート可能) //第一引数のArrayがON/OFFのタイミングをミリセカンド表示 //第二引数はリピートするときに、どこからリピートするかを配列のindexで指定する。 //配列の範囲を超えるとエラーになる。-1でリピートしない val vibrator: Vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator val vibrationEffect: VibrationEffect = VibrationEffect.createWaveform(longArrayOf(200, 200), 1) vibrator.vibrate(vibrationEffect)



//指定したミリセカンドで振動を強弱させる方法(無振動、リピート可能)
//第一引数のarrayがミリセカンドの区切り 第二引数が第一引数のタイミングに対する振動の強さ //第一引数と第二引数は同じ要素数である必要 //下記の例では200msだけ100の強さで振動させ、300mだけ0の強さで振動させる(=無振動) //第三引数はリピートするときに、どこからリピートするかを配列のindexで指定する。 //配列の範囲を超えるとエラーになる。-1でリピートしない val vibrator: Vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator val vibrationEffect: VibrationEffect = VibrationEffect.createWaveform(longArrayOf(200, 300), intArrayOf(100, 0), 1) vibrator.vibrate(vibrationEffect)

 それ以前のAPIレベルでは、下記のような簡易な使用方法が利用できる。

//指定したミリセカンドで振動をオンオフさせる(リピート可能)
//第一引数のArrayがON/OFFのタイミングをミリセカンド表示 //第二引数はリピート回数 -1が1回、0が無限 それ以外の数値だとエラー val vibrator: Vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator vibrator.vibrate(longArrayOf(200, 200), 0)



//最も簡単なバイブレーション 300msだけ鳴らす
val vibrator: Vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
vibrator.vibrate(300)