Android 8: невозможно изменить режим звонка на бесшумный, когда режим звонка беззвучный - PullRequest
0 голосов
/ 14 января 2019

Я написал приложение для Android, которое изменяет режим звонка с любого режима на нормальный, если BroadcastReceiver получает уведомление.

Работает нормально на Android <8. </strong>

Это также работает для моего устройства Android 8, если Режим звонка! = Тихо , когда вещательный приемник реагирует.

  • Режим звонка! = Тихо и измените его на любой режим звонка.
    • работает на всех устройствах
  • Режим звонка == Тихий и изменить его на тихий режим
    • отлично работает на всех устройствах
  • Режим звонка == Тихий и изменить его на не тихий режим
    • работает только на старых устройствах с Android <8 </li>

При переходе с тихого на бесшумный режим на Android 8 я получаю исключение: 1031 *?!

Такое поведение наблюдается только на моем устройстве Android 8. Более старые устройства работают нормально.

Может кто-нибудь помочь с этим странным поведением? Спасибо!

1 Ответ

0 голосов
/ 14 января 2019

Я нашел решение проблемы: это вызвано режимом «Не беспокоить» в новых версиях Android.

Чтобы отключить этот беззвучный режим, вам нужно

  1. добавить разрешение для AndroidManifest:

    использует разрешение android: name = "android.permission.ACCESS_NOTIFICATION_POLICY"

  2. Попросить пользователя выйти из этого режима «не беспокоить» следующим намерением:

    Intent intent = new Intent (android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS); startActivity (намерение);

См. Также этот вопрос / ответ: В Android 7 (уровень API 24) моему приложению запрещено отключать звук телефона (установите режим звонка в беззвучный режим)

...