Как исправить внутреннюю ошибку SafetyNet VerifyApps 12004 при использовании рабочего профиля - PullRequest
0 голосов
/ 01 мая 2019

API-интерфейс Android SafetyNet VerifyApps не работает из-за внутренней ошибки 12004, когда приложение, реализующее API, установлено в контейнере рабочего профиля. То же приложение, запущенное за пределами рабочего профиля, не сталкивается с подобными ошибками. Эта проблема наблюдается во всех моделях устройств Android под управлением Android версии 9.0.

Время от времени этот вызов API будет успешным, в течение нескольких дней. На устройствах, отличных от Google Pixel, существует известный обходной путь, который позволяет пользователю включить / отключить функцию проверки приложений для приложения; после того, как функция отключена и повторно включена, API работает должным образом. Для устройств Google Pixel эта функция не может быть переключена, что оставляет это подмножество пользователей без известного обходного пути.

suspend fun getHarmfulApps() {
    val client = SafetyNet.getClient(context)
    val response = await(client.listHarmfulApps())
    response.harmfulAppsList.forEach {
        ...
    }
}

Ожидаемый результат - API вернет список вредоносных приложений, обнаруженных на устройстве. Вызов listHarmfulApps() вызывает исключение со следующим сообщением об ошибке:

com.google.android.gms.common.api.ApiException: 12004:
...