Разрешение Android не беспокоить (DnD) в управляемом профиле

У меня есть следующая проблема:

Мое приложение распространяется по системе MDM и работает в Android для работы. В определенных ситуациях приложение должно временно прекратить режим DnD. Чтобы достичь этого, пользователь должен предоставить разрешение DnD при запуске приложения.

Все идет нормально. Если я устанавливаю приложение в неуправляемой области, приложение отображается в списке, и разрешение может быть предоставлено без каких-либо проблем. Как только приложение распространяется через систему MDM, приложение больше не появляется в списке и разрешение не может быть предоставлено. Все разрешения были предоставлены в системе MDM. В качестве примера я распространил Google App по системе MDM. Это приложение появляется в списке.

Снимок экрана

В Манифесте я установил следующее разрешение:

<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />

Когда приложение запускается, выполняется следующий код:

NotificationManager nm = (NotificationManager).getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M && !nm.isNotificationPolicyAccessGranted()) {
  Intent intent = new
  Intent(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
  startActivity(intent);
}

Проблема возникает только с разрешения DnD. Все остальные разрешения, такие как разрешение наложения, отображаются без проблем.

Я надеюсь, что кто-нибудь может мне помочь.

1 ответ

Согласно документации Android: НЕ ВОЗМОЖНО

Здесь пользователи могут предоставлять или запрещать доступ к конфигурации "Не беспокоить". Управляемые профили не могут предоставить доступ в режиме "Не беспокоить".

По-видимому, в Google Issue Tracker сообщается о проблеме https://issuetracker.google.com/issues/77939714.

Это ответ от Google:

Статус: не исправить (предполагаемое поведение) 11:41 утра. Вы не можете изменить настройки DND из приложения управляемого профиля. Мы будем обновлять документацию, чтобы прояснить это.

Также есть ответ:

Microsoft Intune выпустила полностью управляемую настройку профиля Android Enterprise для устройств Android.... и теперь он может получить доступ и предоставить разрешение DnD. Не уверен, что дело в том, что мы перешли на полностью управляемые устройства или что-то еще изменилось.

И я бы поверил, что это на самом деле потому, что устройство полностью управляемое.

Итак, по моему мнению, есть два варианта:

  • Полностью управляемое устройство (на телефоне потребуется сброс настроек до заводских)
  • Установите его в личном кабинете

Я еще не нашел правильного решения этой проблемы, но я нашел обходной путь для отображения приложения в рабочей области. Похоже, что приложение отображается только в диалоговом окне, если это же приложение также установлено в приватной области. Если приложение не установлено в приватной области, оно также не будет отображаться в рабочей области. Мой обходной путь - установить приложение в приватной и рабочей зоне. После получения разрешения в рабочей области я удалил приложение из личной области. Как я уже сказал, это не решение самой проблемы, но это сработало. Для меня это выглядит как ошибка в Android, потому что для всех других разрешений приложение появляется в списке

У нас такая же проблема с приложением SignOnSite. Невозможно получить доступ к функции DnD для экстренной эвакуации, если мы также не установим приложение в Личном пространстве. Делать это таким образом рискованно, поэтому пришлось просто установить приложение в Личное пространство. Использование Intune для нашего MDM.

Попробуй это -

Intent intent = new Intent("android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS");
    startActivity(intent);
Другие вопросы по тегам