禁用 FRP 的用户帐户,仅允许工作管理帐户

Disable user account for FRP, allow only work managed accounts

序曲:

客户想要为其拥有的设备安装 EMM。有时用户想将该设备用作工作设备(仅出租车和快递应用程序),有时用户想将该设备用作他自己的设备(安装游戏、社交应用程序和他自己的 Google 帐户)。

情况:

客户想要将他的 gsuite 帐户存储在 FRP 存储中(以便能够解锁 phone 以防员工离开组织)但不想一名员工在 FR 输入他的个人帐户凭据后解锁 phone。

示例:

我以编程方式添加了两个工作帐户(如所述here)。但是在用户获得 phone 后,他进入了他的个人 Gmail 帐户以使用 Gmail 和其他应用程序。我如何以编程方式或从 DPC 应用程序阻止用户在恢复出厂设置后使用他的个人帐户恢复对 phone 的访问?

终于。我找到了答案。 link 到 documentation。 我只需要创建一个包含 google 加上帐户 ID 的捆绑包,这些帐户 ID 将有机会在出厂重置后恢复设备。

然后需要发送广播通知系统这些值已更改。

    val bundle = Bundle()
    // list of recovery accounts
    val recoveryAccounts = arrayOf(
        "115273111154663031432", 
        "110369192556268846321", 
    )
    bundle.putStringArray("factoryResetProtectionAdmin", recoveryAccounts)

    mAdminComponentName = DeviceAdminReceiver.getComponentName(context)
    // set restrictions
    mDevicePolicyManager.setApplicationRestrictions(mAdminComponentName, "com.google.android.gms", bundle)

    // send broadcast
    val broadcastIntent = Intent("com.google.android.gms.auth.FRP_CONFIG_CHANGED")
    broadcastIntent.setPackage("com.google.android.gms")
    broadcastIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND)
    applicationContext.sendBroadcast(broadcastIntent)