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

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

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

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

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

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

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


person Steve Miskovetz    schedule 19.07.2017    source источник


Ответы (1)


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

  • если устройство находится под управлением и компания настроила приложение, оно вернет конфигурацию,
  • если устройство не управляется или если компания не настроила приложение, оно вернет пустой Bundle, и вы сможете передать управление пользователю.
person Fred    schedule 19.07.2017
comment
Отличный ответ! Спасибо! - person Steve Miskovetz; 20.07.2017