Android 12 - PROVISIONING_SUCCESSFUL 从未收到意图

iss*_*mux 5 android android-device-owner

我们正在将设备策略应用迁移到 Android 12 Last API。在我们的测试过程中,我们注意到意图PROVISIONING_SUCCESSFUL从未收到,因此相关活动从未启动,而不是ACTION_PROFILE_PROVISIONING_COMPLETE在我们的管理接收器中得到很好的接收。

aosp 源中的文档和评论说:

PROVISIONING_SUCCESSFUL 发送操作以指示受管配置文件或受管设备的配置已成功完成。它将与 DeviceAdminReceiver#ACTION_PROFILE_PROVISIONING_COMPLETE 广播同时发送,但由于它是活动意图,因此传输速度会更快。

清单中的 ProvisioningSuccessActivity 条目:

    <activity
      android:exported="true"
      android:name=".ProvisioningSuccessActivity"
      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>
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人遇到同样的问题?谢谢

Kar*_*yan 0

从 Android 12 开始,您将需要包含新的更改以支持作为 DPC 进行配置。 https://developer.android.google.cn/work/versions/android-12#deprecations 按照此处给出的步骤进行操作https://developers.google.com/android/work/play/emm-api/prov-devices# set_up_device_owner_mode_google_account

回答关于从未收到 PROVISIONING_SUCCESSFUL 的原因的问题,这是按照流程预期的。Android 的文档未更新以反映该行为。源码请参考https://cs.android.com/android/platform/superproject/+/android-12.1.0_r8:packages/apps/ManagedProvisioning/src/com/android/managedprovisioning/finalization/ProvisioningIntentProvider.java; l=48 ,如果设置是设置向导的一部分,我们可以确认是否启动了ComplianceScreen而不是ProvisioningSuccessful Screen。