Avatar ·

Comment faire vibrer un appareil Android avec différentes fréquences et durées en Kotlin ?

Bonjour à tous ! Je suis un développeur Android débutant en Kotlin. J'écris une simple application de réveil et j'ai besoin d'ajouter une vibration. Le problème est que je veux que la vibration ne soit pas simplement uniforme, mais qu'elle change : d'abord de courtes impulsions, puis de longues, avec des fréquences différentes. Comment faire ?

Actuellement, j'ai ce code, mais il fonctionne de manière très primitive — il active simplement la vibration pendant une durée fixe :

class MainActivity : AppCompatActivity() {
    private lateinit var vibrator: Vibrator

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
        vibrator.vibrate(1000) // vibre simplement pendant 1 seconde
    }
}

J'ai lu à propos de VibrationEffect et VibratorManager dans les nouvelles API, mais je suis confus. Existe-t-il un moyen de créer un motif de vibration complexe ? Par exemple,