У меня есть приложение, которое отключает звук телефона с помощью AudioManager и отключает режим звонка с помощью этого кода:
AudioManager audioManager =
(AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
try {
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT)
} catch (Exception e) {
e.printStackTrace();
}
Это работает с Android 6, но теперь с Android 7 я получаю следующую ошибку:
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)
Есть ли какие-либо новые разрешения, которые мне нужно запросить, чтобы это сработало?
Я просмотрел список разрешений Android, но не смог найти ничего подходящего.