Как использовать управляемые конфигурации в приложении, которое может не иметь поставщика управляемых конфигураций?

Я занимаюсь разработкой приложения, которое будет работать в двух разных средах Android (потребительский и корпоративный рынки). Допустим, это текстовое приложение с дюжиной параметров конфигурации для управления.

Первая среда - это стандартное устройство Android, в котором не включены функции Android Enterprise (AfW). Таким образом, не существует EMM (MDM) для поставки приложения-агента / клиента Android для владельца устройства / профиля, реализующего поставщика управляемых конфигураций.

Вторая среда находится внутри корпорации. EMM (MDM) используется для управления всеми принадлежащими им корпоративными устройствами. EMM является владельцем устройства или профиля. Они настроены на использование управляемых конфигураций и требуют удаленной настройки этого приложения.

Для поддержки обоих этих случаев, как это приложение должно получать конфигурации?

Моя текущая мысль - проверить, принадлежит ли экземпляр моего приложения владельцу устройства или профиля. Если это произойдет, я буду использовать управляемые конфигурации. Если этого не произойдет, он разрешит настройку на устройстве в приложении с использованием SharedPreferences.

Я верю, что это сработает, но кажется слишком хакерским. Это также ограничивает компанию, использующую устройство / владельца профиля, от предоставления своим пользователям контроля. Я полагаю, что другие приложения для Android должны начать сталкиваться с такой ситуацией с увеличением скорости принятия управляемых конфигураций. Есть ли лучшее решение для этого сценария?

1 ответ

Решение

Вы всегда можете вызвать RestrictionsManager.getApplicationRestrictions (), независимо от того, управляется устройство или нет:

  • если устройство управляется, а компания настроила приложение, оно вернет конфигурацию,
  • если устройство не управляется или если компания не настроила приложение, оно вернет пустое Bundle и вы можете дать контроль пользователю.
Другие вопросы по тегам