Какова цель defaultValue в XML-файле управляемых конфигураций?

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

Получив некоторую помощь с этим ответом, я не понимаю, как значения по умолчанию используются в управляемых конфигурациях. Моя ссылка это ссылка.

В моей ссылке под заголовком "Примечание" Google говорит: "Пакет управляемых конфигураций содержит один элемент для каждой конфигурации, которая была явно установлена ​​поставщиком управляемых конфигураций. Однако нельзя предполагать, что конфигурация будет присутствовать в пакете только потому, что вы определил значение по умолчанию в XML-файле управляемых конфигураций."

Я понимаю, что если элемент не был явно установлен поставщиком управляемых конфигураций, то этот элемент не будет в Пакете. Но следующая (последняя) строка мне не понятна.

Мой главный вопрос: "Какова цель defaultValue в XML-файле управляемых конфигураций"? Но я надеюсь, что ответ также поможет или поможет мне ответить на эти вопросы:

  • Кто может прочитать значение по умолчанию?
  • Может ли управляемое приложение прочитать его? Если так, то как?
  • Может ли поставщик управляемых конфигураций прочитать его? Если так, то как?
  • Почему я не могу предположить, что конфигурация будет присутствовать в комплекте, если она имеет значение по умолчанию? Отвечает ли поставщик управляемых конфигураций за чтение значения по умолчанию и его явную настройку?

1 ответ

Решение

Вы можете использовать defaultValue поле, чтобы объяснить, как ваше приложение ведет себя, если свойство не установлено явно управляющим приложением.

Файл XML, указанный в манифесте, предназначен для использования MDM для отображения пользовательского интерфейса в консоли, чтобы ИТ-администратор мог настроить ваше приложение. Если вы установите defaultValue для свойства MDM предварительно заполняет соответствующее поле, когда ваше приложение настраивается в первый раз (например, отображать флажок для логического свойства, которое по умолчанию равно true).

Для администратора не настраивать ваше приложение должно быть так же, как настраивать его с настройкой по умолчанию. Поэтому, чтобы быть согласованным, ваше приложение должно вести себя одинаково, независимо от того, установлено ли свойство или установлено defaultValue,

Чтобы увидеть, как ваша конфигурация будет выглядеть в консоли MDM, вы можете воспользоваться демонстрацией Android Management Experience.

Изменить: Подробнее о том, как схема ограничения и defaultValue можно получить

Схема ограничения приложения, определенная в файле XML, может быть получена либо

  • используя API Google Play EMM getAppRestrictionsSchema, который возвращает defaultValue s для каждого ограничения
  • или с помощью любого приложения на устройстве, используя RestrictionsManager.getManifestRestrictions, где возвращается RestrictionEntry s их значения установлены в defaultValue если указано в файле XML, или к общему значению по умолчанию в противном случае (0 за TYPE_INTEGER, false за TYPE_BOOLEAN, так далее). Вы можете прочитать полную логику этого метода в RestrictionManager.java AOSP и посмотреть, как он используется в TestageC's ManageAppRestrictionsFragment.java.
Другие вопросы по тегам