Oprócz wymagań opisanych na stronach Tworzenie aplikacji na postoju na samochody i Dodawanie obsługi systemu operacyjnego Android Automotive do aplikacji na postoju istnieją jeszcze dodatkowe wymagania dotyczące przeglądarek, które zostały szczegółowo opisane na tej stronie.
Oznaczanie aplikacji jako przeglądarki
Aby wskazać, że aplikacja jest przeglądarką, musi ona zawierać filtr intencji, np. taki jak poniżej, w wyeksportowanym elemencie <activity>
:
<activity ...
android:exported="true">
...
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http"/>
</intent-filter>
</activity>
Zezwalanie użytkownikom na blokowanie dostępu do danych wrażliwych
W przeciwieństwie do wielu urządzeń z Androidem pojazdy z systemem operacyjnym Android Automotive są często urządzeniami współdzielonymi. Aby umożliwić użytkownikom ochronę danych wrażliwych, takich jak hasła i informacje o płatnościach, przeglądarki przeznaczone na Androida Automotive nie mogą zapisywać haseł ani informacji o płatnościach ani zezwalać na dostęp do nich, chyba że użytkownik może zablokować dostęp do haseł za pomocą blokady profilu. Uwierzytelnianie można przeprowadzić za pomocą danych logowania urządzenia lub przez utworzenie systemu uwierzytelniania w aplikacji.
Dodatkowo przed zsynchronizowaniem danych wrażliwych przeglądarki przeznaczone na Androida Automotive muszą wyświetlić użytkownikowi prośbę o uwierzytelnienie i powiadomienie o tym, że jego dane są synchronizowane z samochodem. Jeśli użytkownik nie ma skonfigurowanej żadnej metody uwierzytelniania, możesz poprosić go o jej skonfigurowanie, gdy spróbuje zsynchronizować dane wrażliwe, używając danych logowania urządzenia lub danych logowania specyficznych dla Twojej aplikacji.
Używanie danych logowania urządzenia do uwierzytelniania
W tej sekcji znajdziesz wskazówki dotyczące korzystania z interfejsów API danych logowania do urządzenia i uwierzytelniania systemu, aby spełnić opisane wcześniej wymagania dotyczące danych wrażliwych.
Sprawdzanie, czy są ustawione dane logowania urządzenia
Aby sprawdzić, czy użytkownik zabezpieczył urządzenie kodem PIN, wzorem lub hasłem, możesz użyć metody KeyguardManager::isDeviceSecure
.
Kotlin
val keyguardManager = context.getSystemService(KeyguardManager::class.java) val isDeviceSecure = keyguardManager.isDeviceSecure()
Java
KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); boolean isDeviceSecure = keyguardManager.isDeviceSecure();
Otwórz ustawienia ekranu blokady
Aby zmniejszyć trudności użytkowników w przypadku konieczności ustawienia danych logowania na urządzeniu, możesz otworzyć ekran Bezpieczeństwo w aplikacji Ustawienia za pomocą działania intencji Settings.ACTION_SECURITY_SETTINGS
.
Kotlin
context.startActivity(Intent(Settings.ACTION_SECURITY_SETTINGS))
Java
context.startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS))
Proś użytkownika o uwierzytelnienie
Aby poprosić użytkownika o uwierzytelnienie, możesz użyć interfejsu BiometricPrompt
API zgodnie z opisem w artykule Wyświetlanie okna uwierzytelniania biometrycznego.