簡単にバイブレーションを扱いたい人向け。
バイブレーションを鳴らす方法。
Android 8.0 Oreo API26から簡易なバイブレーションは利用できなくなったので、下記のような方法で利用する必要がある。使い方はVibrationEffectを作成して、いろいろ設定して渡してあげるだけ。
それ以前のAPIレベルでは、下記のような簡易な使用方法が利用できる。
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)