J'ai une application qui coupe le téléphone en utilisant AudioManager et en mettant le mode de sonnerie sur Silence avec ce code:
AudioManager audioManager =
(AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
try {
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT)
} catch (Exception e) {
e.printStackTrace();
}
Cela fonctionne avec Android 6, mais maintenant avec Android 7, j'obtiens l'erreur suivante:
System.err: java.lang.SecurityException: Not allowed to change Do Not Disturb state
System.err: at android.os.Parcel.readException(Parcel.java:1683)
System.err: at android.os.Parcel.readException(Parcel.java:1636)
System.err: at android.media.IAudioService$Stub$Proxy.setRingerModeExternal(IAudioService.java:962)
System.err: at android.media.AudioManager.setRingerMode(AudioManager.java:1022)
System.err: at controllers.SearchResultController.mutePhone(SearchResultController.java:185)
Dois-je demander de nouvelles autorisations pour que cela fonctionne?
J'ai parcouru la liste des autorisations Android, mais je n'ai pas trouvé celles qui semblaient pertinentes.