У меня есть приложение, которое отключает телефон с помощью AudioManager и настраивает режим звонка, чтобы отключить этот код:В Android 7 (API-уровень 24) моему приложению запрещается отключать телефон (установить режим звонка в режим молчания)
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, но не нашел нужное.
Не беспокоить доступ из SDK 23 Marshmallow. Итак, '> = Build.VERSION_CODES.M' BTW необходимо для' ' –
Удивительно, как сложны простые вещи, как правило, с Android. Это решение, хотя .. – milosmns
@RicardoPessoa: При запуске моего приложения на виртуальном телефоне с Android M (23) мне не нужно запрашивать разрешение «Не беспокоить», чтобы иметь возможность отключать звонки, только на Android N (24). –