You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 12 ManagedProvisioning流程适配Android 10用户同意前置需求咨询

Android 12 下调整ManagedProvisioning流程:前置用户同意环节

问题背景

集成AirWatch管理应用Intelligent Hub时,梳理Android 12的ManagedProvisioning代码库发现,Admin App的注册流程先于用户同意环节执行。需要实现类似Android 10的流程:先完成用户同意,再执行Admin App注册。

核心修改思路

Android 12对ManagedProvisioning的流程顺序做了调整,要回退到Android 10的逻辑,需修改PreProvisioningActivity及关联流程的执行顺序,将用户同意步骤前置到Admin App注册之前。

具体修改步骤

  1. 调整PreProvisioningActivity的任务执行顺序

    • 找到PreProvisioningActivity中触发Admin App注册的代码段,将其移至用户同意流程的回调之后。
    • 示例逻辑调整:
      // 原逻辑:先启动Admin App注册
      startAdminAppRegistration();
      showUserConsentUI();
      
      // 修改后:先显示用户同意UI,同意后再启动注册
      showUserConsentUI(new ConsentCallback() {
          @Override
          public void onConsentGranted() {
              startAdminAppRegistration();
          }
      
          @Override
          public void onConsentDenied() {
              // 处理用户拒绝后的流程,比如终止 provisioning
              finishProvisioningWithResult(RESULT_CANCELED);
          }
      });
      
  2. 修改ProvisioningFlowController的步骤配置

    • 找到管理provisioning步骤的ProvisioningFlowController类,调整步骤列表中USER_CONSENT和ADMIN_APP_REGISTRATION的顺序,确保用户同意步骤先执行。
    • 示例调整:
      // 原步骤顺序
      private List<ProvisioningStep> getDefaultSteps() {
          return Arrays.asList(
              AdminAppRegistrationStep.class,
              UserConsentStep.class,
              // 其他步骤
          );
      }
      
      // 修改后步骤顺序
      private List<ProvisioningStep> getDefaultSteps() {
          return Arrays.asList(
              UserConsentStep.class,
              AdminAppRegistrationStep.class,
              // 其他步骤
          );
      }
      
  3. 处理状态回滚与异常情况

    • 若用户在同意后取消注册,需确保已执行的同意状态能正确回滚,避免残留配置。
    • 在AdminAppRegistrationStep的失败回调中,添加清除用户同意状态的逻辑。
  4. 适配Android 12的权限与API变更

    • Android 12对设备管理权限的申请逻辑有调整,需确保用户同意环节的权限请求符合系统要求,避免出现权限被拒导致流程中断。

注意事项

  • 修改系统ManagedProvisioning代码需要定制ROM权限,若无法修改系统应用,可考虑通过自定义Provisioning流程替代原生流程,在自己的引导Activity中先完成用户同意,再调用Admin App注册接口。
  • 需测试不同场景下的流程稳定性,包括用户同意后取消、注册失败等边缘情况。

内容的提问来源于stack exchange,提问作者Amartya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 23:10:25