Tworzenie przeglądarek na potrzeby systemu operacyjnego Android Automotive

Kategoria Przeglądarki jest w wersji beta
Obecnie każdy może publikować przeglądarki na ścieżkach testów wewnętrznych w Sklepie Play. Publikowanie na ścieżkach testów zamkniętych, testów otwartych i ścieżce produkcyjnej będzie możliwe w późniejszym terminie.

Oprócz wymagań opisanych w Tworzenie aplikacji zaparkowanych na samochody i Dodawanie obsługi systemu operacyjnego Android Automotive do aplikacji zaparkowanej, obowiązuje kilka dodatkowych wymagań dotyczących przeglądarek, które zostały opisane na tej stronie.

Oznaczanie aplikacji jako przeglądarki

Aby wskazać, że aplikacja jest przeglądarką, musi ona zawierać filtr intencji, taki jak ten poniżej, w wyeksportowanym elemencie <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>

Więcej informacji znajdziesz w artykule android.intent.category.APP_BROWSER.

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 utworzone na system operacyjny Android 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 do urządzenia lub przez utworzenie systemu uwierzytelniania w aplikacji.

Dodatkowo przed zsynchronizowaniem danych wrażliwych przeglądarki utworzone na system operacyjny Android Automotive OS muszą wyświetlić użytkownikowi prośbę o uwierzytelnienie i powiadomienie o tym, że 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 do urządzenia lub danych logowania do aplikacji.

Używanie danych logowania do urządzenia na potrzeby uwierzytelniania

W tej sekcji znajdziesz wskazówki dotyczące korzystania z danych logowania do urządzenia i systemowych interfejsów API uwierzytelniania, aby spełnić opisane wcześniej wymagania dotyczące danych wrażliwych.

Sprawdzanie, czy są ustawione dane logowania do urządzenia

Aby sprawdzić, czy użytkownik zabezpieczył urządzenie kodem PIN, wzorem lub hasłem, możesz użyć KeyguardManager::isDeviceSecure metody.

val keyguardManager = context.getSystemService<KeyguardManager>()
val isDeviceSecure = keyguardManager?.isDeviceSecure == true

Otwieranie ustawień ekranu blokady

Aby ułatwić użytkownikowi ustawienie danych logowania do urządzenia, możesz otworzyć ekran Bezpieczeństwo w aplikacji Ustawienia za pomocą działania intencji Settings.ACTION_SECURITY_SETTINGS.

context.startActivity(
    Intent(Settings.ACTION_SECURITY_SETTINGS)
        .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
)

Prośba o uwierzytelnienie

Aby poprosić użytkownika o uwierzytelnienie, możesz użyć interfejsu API BiometricPrompt zgodnie z opisem w artykule Wyświetlanie okna uwierzytelniania biometrycznego.