Sur Android 10 J'essaie de désactiver la vibration pour "Ring Volume".
J'essaie donc d'atteindre l'état de l'image, que je peux atteindre via l'interface utilisateur - de manière programmatique.
- Vibration désactivée du volume de la sonnerie
- Ne pas déranger mode off
Problème :
J'ai essayé d'utiliser le AudioManager.setRingerMode()
Ses spécifications disent :
/**
* Sets the ringer mode.
* <p>
* Silent mode will mute the volume and will not vibrate. Vibrate mode will
* mute the volume and vibrate. Normal mode will be audible and may vibrate
* according to user settings.
* <p>This method has no effect if the device implements a fixed volume policy
* as indicated by {@link #isVolumeFixed()}.
* * <p>From N onward, ringer mode adjustments that would toggle Do Not Disturb are not allowed
* unless the app has been granted Do Not Disturb Access.
* See {@link NotificationManager#isNotificationPolicyAccessGranted()}.
* @param ringerMode The ringer mode, one of {@link #RINGER_MODE_NORMAL},
* {@link #RINGER_MODE_SILENT}, or {@link #RINGER_MODE_VIBRATE}.
* @see #getRingerMode()
* @see #isVolumeFixed()
*/
public void setRingerMode(int ringerMode) {
Il semble que ce serait le moyen d'atteindre l'État sur l'image.
Mais le code ci-dessous active le mode "Ne pas déranger". Ce qui, en dépit de la désactivation de la vibration a aussi beaucoup d'autres effets : supprimer les notifications etc. que je ne veux pas activer.
Voir l'image ci-dessous
final AudioManager audio = (AudioManager) mContext.getSystemService(mContext.AUDIO_SERVICE);
audio.setRingerMode(AudioManager.RINGER_MODE_SILENT);
L'état sur l'image ci-dessus est-il inaccessible par programme ?
Selon ce fil de discussion - Activer le mode silencieux dans Android sans déclencher la fonction Ne pas déranger il est inaccessible ?
Ne pas déranger s'active sur RINGER_MODE_SILENT