Помимо требований, описанных в статьях Как создавать приложения для автомобилей, которые можно использовать, когда автомобиль припаркован и Как добавить поддержку Android Automotive OS в приложение, которое можно использовать, когда автомобиль припаркован, есть несколько дополнительных требований, относящихся к браузерам. Они подробно описаны на этой странице.
Навыки работы с Android
Посмотреть на GitHubПриложения для Android for Cars, которые можно использовать, когда автомобиль припаркован
android skills add android-for-cars-parked-appsКак указать, что ваше приложение является браузером
Чтобы указать, что ваше приложение является браузером, оно должно включать фильтр интентов, например следующий, в экспортированном элементе <activity>:
<activity ...
android:exported="true">
...
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
...
<category android:name="android.intent.category.APP_BROWSER"/>
</intent-filter>
</activity>
Дополнительную информацию вы найдете в статье android.intent.category.APP_BROWSER.
Разрешить пользователям блокировать доступ к конфиденциальным данным
В отличие от многих устройств Android, автомобили с Android Automotive OS часто используются несколькими людьми. Чтобы пользователи могли защитить конфиденциальные данные, например пароли и платежную информацию, браузеры, созданные для Android Automotive OS, не должны сохранять пароли и платежную информацию или разрешать доступ к ним, если пользователь не может заблокировать доступ к паролям с помощью блокировки профиля. Аутентификацию можно выполнить с помощью учетных данных устройства или встроенной в приложение системы аутентификации.
Кроме того, перед синхронизацией данных деликатного характера браузеры, созданные для Android Automotive OS, должны предлагать пользователю выполнить аутентификацию и сообщать ему, что его данные синхронизируются с автомобилем. Если у пользователя не настроен ни один способ аутентификации, вы можете предложить ему настроить его при попытке синхронизировать конфиденциальные данные, используя учетные данные устройства или учетные данные, относящиеся к вашему приложению.
Использовать учетные данные устройства для аутентификации
В этом разделе рассказывается, как использовать API для аутентификации с помощью учетных данных устройства и системной аутентификации, чтобы соблюдать требования к конфиденциальным данным, описанные выше.
Проверьте, заданы ли учетные данные устройства
Чтобы определить, защищено ли устройство пользователя PIN-кодом, графическим ключом или паролем, можно использовать метод KeyguardManager::isDeviceSecure.
val keyguardManager = context.getSystemService<KeyguardManager>() val isDeviceSecure = keyguardManager?.isDeviceSecure == true
Открыть настройки заблокированного экрана
Чтобы пользователю было проще установить учетные данные устройства, вы можете открыть экран "Безопасность" в приложении "Настройки" с помощью действия intent Settings.ACTION_SECURITY_SETTINGS.
context.startActivity( Intent(Settings.ACTION_SECURITY_SETTINGS) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) )
Предложите пользователю пройти аутентификацию
Чтобы предложить пользователю пройти аутентификацию, можно использовать API BiometricPrompt, как описано в разделе Как показать диалоговое окно биометрической аутентификации.