2

Cela ne fonctionne pas pour Lollipop.Comment activer/désactiver le vibreur pour les appels et les notifications dans Android Lollipop?

Pour activer les vibrations:

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, 
      AudioManager.VIBRATE_SETTING_ON); 
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, 
      AudioManager.VIBRATE_SETTING_ON); 

Pour désactiver les vibrations:

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, 
      AudioManager.VIBRATE_SETTING_OFF); 
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, 
      AudioManager.VIBRATE_SETTING_OFF); 

Cela fonctionne fantastiquement dans KitKat.

+0

La documentation suggère d'utiliser getRingerMode(), mais je ne sais pas comment le faire en pratique: http://developer.android.com/reference/android/media/AudioManager.html#VIBRATE_SETTING_ON – tch

+0

Cette constante était obsolète dans ** niveau API 16. ** Mais fonctionne toujours bien dans _Kitkat._ Je veux implémenter cela dans _Lollipop._ –

Répondre

0

Vous pouvez contrôler la vibration sur Lollipop avec ce code:

Settings.System.putInt(getContentResolver(), "vibrate_when_ringing", vibrate?1:0); 

Aussi, vous devez ajouter cette autorisation à votre fichier manifeste:

<uses-permission android:name="android.permission.WRITE_SETTINGS" /> 

S'il vous plaît noter cependant que le won de code ci-dessus Ne vous permettez pas de changer la vibration pendant que le téléphone sonne. Je suppose que l'application de téléphone lit ce paramètre avant que la sonnerie ne commence, et l'utilise jusqu'à ce que la sonnerie s'arrête.