禁用 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)
序曲:
客户想要为其拥有的设备安装 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)