получить идентификатор устройства из Android Device Policy
Мы пробуем приложение EMM MDM на Android Enterprise. Итак, мы регистрируемся с использованием Android Enterprise в полностью управляемом режиме.
У нас будет
per device policy
механизм, поэтому для каждого устройства будет отдельная политика. Теперь в начале у нас нет никакой информации о том, кто является пользователем, поэтому мы применяем политику по умолчанию, а затем во время настройки (с помощью setupActions) мы открываем наше настраиваемое приложение и просим пользователя войти в систему, используя имя пользователя и пароль, что способ узнать, кто пользователь.
Проблема в том, что мы знаем пользователя, но не знаем, на каком устройстве он вошел в систему, поскольку мы не можем запросить IMEI / SerialNumber ( https://developer.android.com/training/articles/user-data-ids# лучшие-практики-идентификаторы-android )
Проблема в том, что мы заставляем пользователей входить в систему из нашего приложения, но в AndroidEnterprise имя устройства другое.
Мы хотим создать отображение имени пользователя <---> информации об устройстве из AE.
Можем ли мы запросить
Android Device Policy
app каким-то образом получить любой идентификатор, чтобы мы могли сопоставить deviceId <---> username? или любой другой предложенный способ?
Мы не можем отправить deviceName или что-либо еще в управляемой конфигурации, поскольку в это время пользователь не зарегистрирован в AnroidEnterprise, поэтому у нас нет этой информации. см. исх.
Кроме того, кто-нибудь знает, как мы можем как-то взаимодействовать с Android Device Policy? чтобы узнать, какая политика применяется? и т.п.
2 ответа
В Android 10 для чтения номеров идентификаторов устройств требовалось разрешение READ_PRIVILEGED_PHONE_STATE . Однако приложения, установленные из Google Play Store, не могут декларировать привилегированные разрешения.
Если вы работаете с Android Management API, вы можете настроить политику DelegatedScope: CERT_INSTALL для вашего приложения, чтобы иметь специальное разрешение на доступ к установке сертификатов и управлению ими. Чтобы мы могли использовать разрешение READ_PHONE_STATE в манифесте вашего приложения.
- Из вашего приложения вы можете получить IMEI / SerialNumber
- Из вашей политики по умолчанию вы должны установить области делегирования для своего приложения.
"applications": [
{
"packageName": "your-app-package-name",
"delegatedScopes": [
"CERT_INSTALL"
]
}
]
device.list можно использовать для проверки списка устройств, зарегистрированных на конкретном предприятии, а device.get можно использовать для проверки деталей конкретного устройства. Вы можете проверить эту ссылку для получения информации о списке, которую вы можете получить с помощью device.get.