Управляемые конфигурации имеют значение 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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