androidでバイブレーションの実装って実はやったことなかった
今やってる案件の仕様にあったような記憶だったけど、仕様書には明記されてない🤔
試してみたのでせっかくだから残しておきます

イベントに触覚フィードバックを追加する | Views | Android Developers
ちなみにOS設定の音とバイブレーション でバイブレーションとハプティクスをOFFとかにしていると動作しないので確認時注意(テスト機OFFってた😅)
<uses-permission android:name="android.permission.VIBRATE"/>// ボタンやキーのフィードバックの場合はperformHapticFeedbackで実装がよい
val view = LocalView.current
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
view.performHapticFeedback(HapticFeedbackConstants.CONFIRM)
}// ワンショット
val context = LocalContext.current
//val vibrator = context.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
val vibrator = context.getSystemService(Vibrator::class.java)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val vibrationEffect = VibrationEffect.createOneShot(100, DEFAULT_AMPLITUDE)
vibrator.vibrate(vibrationEffect)
} else {
vibrator.vibrate(100)
}// VibratorManager
@SuppressLint("ServiceCast")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
val vibratorManager = context.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
// 100ms振動 / 100ms止める, 振動強度 0 - 255, 繰り返さない/繰り返す -1 / 0 配列の長さまで指定可能
val vibrationEffect = VibrationEffect.createWaveform(longArrayOf(100L, 100L), intArrayOf(200, 0), -1)
val combinedVibration = CombinedVibration.createParallel(vibrationEffect)
vibratorManager.vibrate(combinedVibration)
}Android Studio Meerkat 2024.3.1 Patch 2 built on April 16, 2025
