Управляемые конфигурации имеют значение null при создании рабочего профиля.Android

Форум для тех, кто программирует под Android
Anonymous
Управляемые конфигурации имеют значение null при создании рабочего профиля.

Сообщение Anonymous »

Мы используем API управления Android для регистрации управляемых устройств. У нас есть специальное приложение, необходимое для настройки. Для этого приложения мы также отправляем управляемые конфигурации в политике и некоторые строковые данные.
Чтобы получить данные, мы используем RestrictionsManager в приложении, поэтому при первом открытии приложения из состояния «требуется для настройки» действия, мы создаем объект RestrictionsManager, чтобы получить управляемые конфигурации, но мы сталкиваемся с этой проблемой.
Сценарии:
Когда мы создаем полностью управляемое устройство, это не проблема, пользовательское приложение получает управляемые конфигурации. Но если мы создадим рабочий профиль и настроим пользовательское приложение, необходимое для настройки, и когда приложение попытается получить управляемые конфигурации, будет возвращено значение null.
Эта проблема возникает конкретно на устройствах Moto, которые мы тестируем (устройства Moto G32). Почему-то иногда работает нормально, поэтому если прописать устройства скажем 15 раз в рабочем профиле, то может и 3-5 раз сработать, это не точно, может работать, а может и не работать.
Мы также попробовали некоторые устройства других производителей: OnePlus, Oppo, Realme, Redmi и т. д., и, похоже, на этих устройствах все работает нормально, также пробовали в эмуляторах Genymotion, и они работают нормально, там все хорошо. Однако на устройстве Vivo (Android 9) возникает проблема, аналогичная Moto G32.
Затем, чтобы быть уверенным, мы также опробовали Moto G32 с другим решением MDM, отличным от нашего, и Moto G32 отлично записался.
Для получения дополнительной информации мы следуем документации Android и Management API, чтобы установить конфигурации управления и получить их в приложении с помощью RestrictionsManager. Мы используем указанный способ реализации этой функции.

Код: Выделить всё

    val restrictionManager = getSystemService(Context.RESTRICTIONS_SERVICE) as RestrictionsManager
val appRestrictions = restrictionManager.applicationRestrictions

if (appRestrictions != null){
val id = appRestrictions.getString("key")
val baseUrl = appRestrictions.getString("key2")}
На серверной стороне:

Код: Выделить всё

"managedConfiguration" {
"key": "abc123",
"key2": "another value"

}
Итак, теперь я ломаю голову, пытаясь понять, что, черт возьми, происходит не так. Пожалуйста, помогите.

Подробнее здесь: https://stackoverflow.com/questions/783 ... rk-profile

Вернуться в «Android»