Avatar ·

Como fazer um dispositivo Android vibrar com diferentes frequências e amplitudes no Kotlin?

Olá a todos! Estou desenvolvendo um aplicativo para Android no Kotlin e me deparei com um problema de controle de vibração. Preciso que o dispositivo vibre não apenas "ligado/desligado", mas com diferentes frequências e intensidades (amplitude). Por exemplo, para notificações — uma vibração curta e fraca, para alarme — longa e forte, e para eventos de jogo — pulsante com aumento. Tentei usar o antigo `Vibrator` via `getSystemService`, mas ele só tem `vibrate(long milliseconds)` — vibra por um tempo definido sem possibilidade de alterar a frequência. Ouvi dizer que com a API 26 (Android 8) surgiram `VibratorManager` e `VibrationEffect`, mas não consigo entender como criar padrões complexos corretamente. Aqui está meu código atual, que funciona, mas não oferece a flexibilidade necessária: ```kotlin val vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator if (vibrator.hasVibrator()) { vibrator.vibrate(500) // apenas vibra por 0.5 segundos } ``` Preciso de: 1. Vibrar com uma frequência específica (por exemplo, 100 Hz). 2.