Android 12 – запустить приложение MDM после установки с помощью PROVISIONING_SUCCESSFUL

Недавно мы перенесли наше приложение Device Policy (MDM) для поддержки Android 12 и хотели бы открыть наше приложение MDM dpc после завершения работы мастера начальной настройки. Это работало нормально до Android 11, пока не вышли обновления Android 12. Мы обрабатываем GET_PROVISIONING_MODE и ADMIN_POLICY_COMPLIANCE , но PROVISIONING_SUCCESSFUL никогда не вызывается.

Это наш код в манифесте для PROVISIONING_SUCCESSFUL :

      <activity
        android:name=".pages.ProvisioningSuccessActivity"
        android:exported="true"
        android:theme="@android:style/Theme.NoDisplay"
        android:permission="android.permission.BIND_DEVICE_ADMIN">
        <intent-filter>
            <action android:name="android.app.action.PROVISIONING_SUCCESSFUL"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
</activity>

Мы звонимsetResult(RESULT_FIRST_USER, intent);при получении намерения ADMIN_POLICY_COMPLIANCE .

Кто-нибудь может помочь нам с этим?

1 ответ

Начиная с Android 12 намерение отправляется только тогда, когда

  • Подготовка не выполняется в мастере первоначальной настройки (например, когда конечный пользователь устанавливает и запускает приложение DPC, которое затем запускает подготовку черезACTION_PROVISION_MANAGED_PROFILE) или
  • Никакая активность для действия активности не может быть разрешена

См . здесь соответствующий исходный код.

Итак, в вашем случае вы должны заменить фильтр намерений для вашей ProvisioningSuccessActivity фильтром намерений для .

Исходная информация

The ADMIN_POLICY_COMPLIANCEнамерение уже было представлено в Android 10 вместе сGET_PROVISIONING_MODE. С тех пор для ЦОДов рекомендуется расширить мастер первоначальной настройки экраном соответствия и применить первоначальные параметры политики:

DPC должны использовать это новое намерение вместо прослушивания трансляции.(источник).

До Android 12 это изменение не затрагивало существующие реализации DPC, которые поддерживали только полностью управляемую подготовку. ЦОДы, которые также хотели использовать новые рабочие профили, уже должны были переключиться на новые намерения с Android 10.

С прекращением поддержки ACTION_PROVISION_MANAGED_DEVICE полностью управляемая подготовка теперь может быть запущена только мастером установки. Реализации DPC, которые поддерживают только полностью управляемую подготовку, теперь также должны переключиться на новые намерения.

The ACTION_PROFILE_PROVISIONING_COMPLETEтрансляция иPROVISIONING_SUCCESSFULнамерения теперь отправляются только тогда, когда инициализация запускается вне мастера установки. Например, когда пользователь устанавливает и запускает приложение DPC, которое запускает подготовку рабочего профиля через ACTION_PROVISION_MANAGED_PROFILE.

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