Создание браузеров для Android Automotive OS

Категория «Браузеры» находится в стадии бета-тестирования.
В настоящее время любой желающий может публиковать браузеры для внутреннего тестирования в Play Store. Публикация для закрытого, открытого и производственного тестирования будет разрешена позднее.

Помимо требований, описанных в разделе «Создание паркованных приложений для Android Automotive OS» , существует несколько дополнительных требований, специфичных для браузеров, которые подробно описаны на этой странице.

Разрешить пользователям блокировать доступ к конфиденциальным данным

В отличие от многих устройств Android, автомобили с ОС Android Automotive часто являются общими устройствами. Чтобы дать пользователям возможность защитить свои конфиденциальные данные, такие как пароли и платежную информацию, браузеры, созданные для Android Automotive OS , не должны сохранять или разрешать доступ к паролям или платежной информации, если только пользователь не может заблокировать доступ к паролям с помощью блокировки профиля . Аутентификацию можно выполнить либо с помощью учетных данных устройства, либо путем создания системы аутентификации в вашем приложении.

Кроме того, перед синхронизацией конфиденциальных данных браузеры, созданные для ОС Android Automotive , должны предлагать пользователю пройти аутентификацию и отправлять сообщения, чтобы пользователь знал, что его данные синхронизируются с автомобилем . Если у пользователя не настроен какой-либо метод аутентификации, вы можете предложить ему настроить его при попытке синхронизации конфиденциальных данных, используя либо учетные данные устройства , либо специальные данные для вашего приложения.

Используйте учетные данные устройства для аутентификации

В этом разделе представлены рекомендации по использованию API учетных данных устройства и системной аутентификации для удовлетворения описанных ранее требований к конфиденциальным данным.

Проверьте, установлены ли учетные данные устройства

Чтобы определить, защитил ли пользователь свое устройство с помощью ПИН-кода, шаблона или пароля, вы можете использовать метод KeyguardManager::isDeviceSecure .

Котлин

val keyguardManager = context.getSystemService(KeyguardManager::class.java)
val isDeviceSecure = keyguardManager.isDeviceSecure()

Ява

KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
boolean isDeviceSecure = keyguardManager.isDeviceSecure();

Откройте настройки экрана блокировки

Чтобы уменьшить неудобства для пользователей в случае, если им необходимо установить учетные данные устройства, вы можете открыть экран «Безопасность» в приложении «Настройки», используя действие намерения Settings.ACTION_SECURITY_SETTINGS .

Котлин

context.startActivity(Intent(Settings.ACTION_SECURITY_SETTINGS))

Ява

context.startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS))

Предложить пользователю пройти аутентификацию

Чтобы предложить пользователю пройти аутентификацию, вы можете использовать API BiometricPrompt , как описано в разделе «Показать диалоговое окно биометрической аутентификации» .