¿Cómo hacer que un dispositivo Android vibre con diferente frecuencia y amplitud en Kotlin?
¡Hola a todos! Estoy desarrollando una aplicación para Android en Kotlin y me encontré con el problema de controlar la vibración. Necesito que el dispositivo no solo vibre "encendido/apagado", sino con diferente frecuencia e intensidad (amplitud). Por ejemplo, para notificaciones — una vibración corta y débil, para el despertador — una vibración larga y fuerte, y para un evento de juego — una vibración pulsante con aumento.
Intenté usar el antiguo `Vibrator` a través de `getSystemService`, pero solo tiene `vibrate(long milliseconds)` — simplemente vibra durante un tiempo determinado sin posibilidad de cambiar la frecuencia. Escuché que con API 26 (Android 8) aparecieron `VibratorManager` y `VibrationEffect`, pero no puedo entender cómo crear patrones complejos correctamente.
Aquí está mi código actual, que funciona pero no proporciona la flexibilidad necesaria:
```kotlin
val vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
if (vibrator.hasVibrator()) {
vibrator.vibrate(500) // simplemente vibra 0.5 segundos
}
```
Necesito:
1. Vibrar con una frecuencia específica (por ejemplo, 100 Hz).
2.