получить идентификатор устройства из 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 Policyapp каким-то образом получить любой идентификатор, чтобы мы могли сопоставить 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 в манифесте вашего приложения.

  1. Из вашего приложения вы можете получить IMEI / SerialNumber
  2. Из вашей политики по умолчанию вы должны установить области делегирования для своего приложения.
      "applications": [
    {
      "packageName": "your-app-package-name",
      "delegatedScopes": [
        "CERT_INSTALL"
      ]
    }
  ]

device.list можно использовать для проверки списка устройств, зарегистрированных на конкретном предприятии, а device.get можно использовать для проверки деталей конкретного устройства. Вы можете проверить эту ссылку для получения информации о списке, которую вы можете получить с помощью device.get.

Другие вопросы по тегам