Отключить учетную запись пользователя для FRP, разрешить только рабочие управляемые учетные записи

Прелюдия:

Клиент хочет установить EMM на свои устройства-владельцы. Иногда пользователь хочет использовать устройство в качестве рабочего устройства (только приложения для такси и курьеров), а иногда пользователь хочет использовать устройство как свое (установить игры, социальные приложения и собственные учетные записи Google).

Ситуация:

Клиент хочет хранить свои учетные записи gsuite в хранилище FRP (чтобы иметь возможность разблокировать телефон в случае ухода сотрудника из организации), но не хочет, чтобы сотрудник разблокировал телефон после входа FR в его личный кабинет. реквизиты для входа.

Пример:

Я добавил две рабочие учетные записи программно (как описано здесь). Но после того, как пользователь получил телефон, он вошел в свою личную учетную запись Gmail, чтобы использовать Gmail, другие приложения. Как я могу программно или, может быть, из приложения DPC запретить пользователю восстанавливать доступ к телефону, используя его личный кабинет после сброса настроек?


person Alex Misiulia    schedule 03.02.2019    source источник


Ответы (1)


Ну наконец то. Я нашел ответ. Ссылка на документацию. Мне нужно просто создать связку с идентификаторами аккаунтов google plus, у которых будет возможность восстановить устройство после сброса настроек.

И после этого нужно отправить широковещательную рассылку, чтобы уведомить систему о том, что эти значения были изменены.

    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)
person Alex Misiulia    schedule 07.02.2019