ASSISTANT |
Co najmniej 1 z tych elementów:
- Aplikacja ma aktywność, która wykonuje czynności pomocnicze na podstawie informacji o kontekście użytkownika w momencie żądania pomocy (np. nazwa pakietu bieżącej aplikacji na pierwszym planie i informacje kontekstowe).
- Aplikacja ma usługę interakcji głosowych działającą nieustannie, która wymaga uprawnienia
android.permission.BIND_VOICE_INTERACTION . Może ona rozpoznawać mowę i prowadzić aktywne sesje interakcji głosowych.
Dodatkowo aplikacja ma wyraźną flagę wskazującą, że usługa jest w stanie obsłużyć działanie pomocy.
|
BROWSER |
Wszystkie:
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań z ukrytym zamiarem. Aktywność ta wyświetla stronę internetową odpowiadającą adresowi
http:// .
- Aplikacja musi obsługiwać nawigację między linkami. Oznacza to, że jeśli użytkownik przegląda stronę internetową i klika adres
http:// w tekście, aplikacja musi mieć możliwość wyświetlenia treści odpowiadających wybranemu linkowi bez konieczności podejmowania przez użytkownika dodatkowych działań.
- Aplikacja musi mieć możliwość przekazania stronom internetowym bieżących informacji o lokalizacji geograficznej urządzenia, gdy użytkownik wyrazi na to zgodę.
|
DIALER |
Wszystkie:
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą niejawnych żądań intencji. Aktywność ta zapewnia interfejs użytkownika podczas połączenia, gdy urządzenie jest w trybie połączenia.
- Aplikacja może obsługiwać intencje dotyczące połączeń przychodzących, wyświetlać użytkownikowi informacje związane z połączeniem (np. numer telefonu dzwoniącego) oraz umożliwiać mu odebranie lub odrzucenie połączenia.
- Aplikacja umożliwia użytkownikowi nawiązywanie połączeń i wyświetlanie historii połączeń na urządzeniu.
|
SMS |
Wszystkie:
- Aplikacja spełnia wszystkie wymagania dotyczące aplikacji do obsługi SMS-ów.
- Aplikacja ma aktywność, którą inne aplikacje mogą wywołać za pomocą żądań niejawnych intencji, które mogą wysyłać wiadomości na numer telefonu.
- Aplikacja ma usługę, do której dostęp jest ograniczony przez uprawnienie
android.permission.SEND_RESPOND_VIA_MESSAGE i która może być wywoływana przez niejawne intencje. Usługa ta może wysyłać wiadomości otrzymane z aplikacji Telefon, gdy użytkownik zdecyduje się odpowiedzieć za pomocą wiadomości podczas rozmowy. Aplikacja może wysyłać wiadomości za pomocą własnego systemu wiadomości.
- Aplikacja ma 2 odbiorniki transmisji, z których jeden wymaga uprawnienia
android.permission.BROADCAST_SMS , a drugi – android.permission.BROADCAST_WAP_PUSH . Pierwszy z nich może odbierać SMS-y, a drugi – MMS-y. Następnie aplikacja odpowiada za zapisywanie wiadomości do dostawcy SMS-ów i powiadamianie użytkowników.
|
EMERGENCY |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Aplikacja zawiera aktywność, która przedstawia informacje o użytkowniku w przypadku nagłego wypadku.
Każdy może przejść do tego ekranu za pomocą przycisku alarmowego w aplikacji Emergency Dialer.
|
HOME |
Aplikacja ma aktywność, która może uruchamiać ekran główny, gdy użytkownik naciśnie przycisk ekranu głównego. Ekran główny powinien zawierać ikony aplikacji, widżety i obsługiwać nawigację za pomocą przycisków lub gestów (np. przesuwanie w górę, aby wyświetlić wszystkie aplikacje).
|
CALL_REDIRECTION |
Aplikacja ma usługę, która wymaga uprawnienia android.permission.BIND_CALL_REDIRECTION_SERVICE . Usługa ta może być powiązana z ramami telekomunikacyjnymi. Usługa otrzymuje numer telefonu wychodzącego z platformy telekomunikacyjnej i wykonuje jedną z tych czynności:
- Zezwalanie na połączenie bez zmian.
- Zmień numer wychodzący, aby kierować połączenia przez numer zastępczy.
- Anuluj połączenie.
|
CALL_SCREENING |
Aplikacja ma usługę, która wymaga uprawnienia android.permission.BIND_SCREENING_SERVICE i wykonuje 2 funkcje:
- Blokowanie i filtrowanie połączeń: usługa może wybrać, które połączenia mają być wysyłane do aplikacji wybierania numerów na telefonie (i ewentualnie dzwonić, biorąc pod uwagę tryb Nie przeszkadzać lub głośność), a które mają być wysyłane bezpośrednio na pocztę głosową.
- Identyfikacja połączeń: usługa może identyfikować i wyświetlać informacje o połączeniu w interfejsie użytkownika.
|
SYSTEM_GALLERY |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja udostępnia interfejs, który umożliwia użytkownikom przechowywanie, porządkowanie i wyświetlanie filmów oraz obrazów.
|
SYSTEM_AUTOMOTIVE_CLUSTER |
Wszystkie:
- Aplikacja jest aplikacją systemową w Androidzie Automotive.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja umożliwia wyświetlanie informacji na wyświetlaczu samochodowym (zazwyczaj obok kierownicy), aby użytkownicy mogli odbierać połączenia telefoniczne oraz korzystać z listy kontaktów i rejestrów połączeń.
|
COMPANION_DEVICE_WATCH |
Aplikacja może wysyłać żądania powiązania z zegarkiem i zarządzania nim (za pomocą interfejsu API udostępnianego przez klasę CompanionDeviceManager ). Gdy zegarek i aplikacja są połączone przez interfejs aplikacji, użytkownicy mogą zarządzać zegarkiem z aplikacji, m.in. synchronizować kontakty i kalendarz oraz zarządzać powiadomieniami i połączeniami telefonicznymi.
|
SYSTEM_AUTOMOTIVE_PROJECTION |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja umożliwia wyświetlanie ekranu telefonu na wyświetlaczu w samochodzie. Umożliwia kierowcom dostęp do aplikacji na telefonach z Androidem i sterowanie nimi, w tym odtwarzanie muzyki, nawigację, wykonywanie połączeń telefonicznych i wyszukiwanie, za pomocą mechanizmów wejściowych w samochodzie, w tym ekranu dotykowego, elementów sterujących na kierownicy i poleceń głosowych.
|
SYSTEM_SHELL |
Wszystkie:
- Aplikacja jest aplikacją systemową, której przypisano identyfikator UID
Process.SHELL_UID .
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja udostępnia interfejs działający na poziomie wiersza poleceń, dzięki czemu użytkownicy mogą wchodzić w interakcje z systemem operacyjnym Android. Na przykład wyświetlanie zawartości folderu lub uruchamianie aplikacji. Polecenia powłoki można wykonywać programowo przez aplikacje (jeśli zostały przyznane niezbędne uprawnienia) lub za pomocą narzędzia ADB.
|
SYSTEM_CONTACTS |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja udostępnia interfejs użytkownika, który pozwala zarządzać kontaktami (np. wyświetlać, udostępniać, dodawać, usuwać lub wyszukiwać kontakty). Aplikacja aktualizuje usługę Kontakty, gdy użytkownik zaktualizuje kontakty w aplikacji. Użytkownicy mogą też dzwonić, wysyłać e-maile i SMS-y do kontaktów z aplikacji.
|
SYSTEM_SPEECH_RECOGNIZER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja udostępnia usługę, która może rozpoznawać mowę.
- Gdy aplikacja otrzymuje strumienie mikrofonu na żywo z innej aplikacji na potrzeby rozpoznawania mowy, poprawnie przypisuje korzystanie z mikrofonu aplikacji wywołującej i odpowiednio aktualizuje statystyki działania aplikacji.
|
SYSTEM_WIFI_COEX_MANAGER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja zawiera usługę, która dynamicznie ustawia listę kanałów Wi-Fi, których urządzenie nie powinno używać z powodu zakłóceń sieci komórkowej.
|
SYSTEM_WELLBEING |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja powinna umożliwiać użytkownikom ograniczenie rozpraszania uwagi i podawać im statystyki dotyczące sposobu korzystania z urządzenia (np. czas korzystania z ekranu w ciągu tygodnia).
|
SYSTEM_TELEVISION_NOTIFICATION_HANDLER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja musi wyświetlać użytkownikom na urządzeniach TV powiadomienia o zbliżającym się wydarzeniu. Aplikacja musi też wyświetlać bieżące aktywne powiadomienia, gdy wysyłana jest intencja
android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (z SystemUI).
|
SYSTEM_COMPANION_DEVICE_PROVIDER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja musi być w stanie wykrywać urządzenia peryferyjne w swoim otoczeniu. Musi ono zawierać interfejs użytkownika, w którym użytkownik może potwierdzić, że dane urządzenie peryferyjne powinno być powiązane z aplikacją i zarządzane przez nią. Po potwierdzeniu przez użytkownika aplikacja zarządzająca przyznaje powiązanej aplikacji uprawnienia dostępu do urządzenia peryferyjnego (np. jego nazwy, adresu, klasy i stanu parowania) i może rozpocząć proces parowania.
|
SYSTEM_DOCUMENT_MANAGER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja zawiera aktywność, która umożliwia użytkownikom dostęp do istniejących dokumentów oraz tworzenie nowych dokumentów na urządzeniu.
- Aplikacja musi spełniać wszystkie wymagania opisane w warunkach korzystania z usługi Android w sekcji
2.2.3. Oprogramowanie
w sekcji
[3.2.3.1/H-0-1].
|
SYSTEM_ACTIVITY_RECOGNIZER |
Wszystkie:
|
SYSTEM_UI |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja ma interfejs, który umożliwia użytkownikom interakcję z telefonami. na przykład ekran główny telefonu, nawigacja, ostatnio używane aplikacje, szybkie ustawienia, pasek powiadomień, ekran blokady, sterowanie głośnością.
|
SYSTEM_TELEVISION_REMOTE_SERVICE |
Wszystkie:
- Aplikacja jest aplikacją systemową na Androidzie TV.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja ma usługę, która może komunikować się z pilotem telewizora HID (np. przez BLE), wstrzykiwać zdarzenia (np. kliknięcia przycisków) i przesyłać inne dane (np. strumień audio z wbudowanego mikrofonu) na platformę.
|
SYSTEM_UI_INTELLIGENCE |
Wszystkie:
- być wstępnie zainstalowaną usługą, która za pomocą interfejsów API platformy (interfejsów API publicznych lub systemowych) zapewnia inteligentny procesor na urządzeniu do obsługi funkcji interfejsu użytkownika systemu (np. przewidywanie i wyświetlanie kolejnych aplikacji dla użytkowników);
- Usługa musi spełniać wszystkie wymagania opisane w sekcji 9.8.6 Zachwytywanie treści w dokumentacji CDD Androida.
- Usługa nie może mieć uprawnienia
android.permission.INTERNET . Zamiast tego musi mieć dostęp do Internetu przez dobrze zdefiniowane interfejsy API w projekcie open source.
- Usługa nie może się wiązać z aplikacją, z wyjątkiem tych aplikacji systemowych:
Bluetooth, Kontakty, Media, Telefonia, SystemUI i komponentów
udostępniających interfejsy API Internetu. Każde dozwolone wiązanie musi być skonfigurowane w sposób jawny za pomocą konfiguracji
<allow-association> w konfiguracji systemu.
- Usługa nie może udostępniać danych aplikacjom, chyba że użytkownik wykona bezpośrednią czynność (np. naciśnie przycisk za każdym razem, gdy dane mają być udostępnione).
|
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE |
Wszystkie:
- Warunki są identyczne jak w przypadku
SYSTEM_UI_INTELLIGENCE ,
ale w przypadku wstępnie zainstalowanej usługi inteligentny procesor na urządzeniu obsługuje dźwięk otoczenia (np. rozpoznaje utwory odtwarzane w pobliżu urządzenia).
|
SYSTEM_AUDIO_INTELLIGENCE |
Wszystkie:
- Warunki są identyczne jak w przypadku
SYSTEM_UI_INTELLIGENCE ,
ale w przypadku wstępnie zainstalowanej usługi inteligentny procesor do obsługi dźwięku jest dostępny na urządzeniu (na przykład do dodawania napisów do filmów, podcastów, rozmów telefonicznych, rozmów wideo i wiadomości audio).
|
SYSTEM_NOTIFICATION_INTELLIGENCE |
Wszystkie:
- Warunki są identyczne jak w przypadku
SYSTEM_UI_INTELLIGENCE , z tym że w przypadku wstępnie zainstalowanej usługi inteligentny procesor powiadomień działa na urządzeniu (np. sugeruje odpowiedzi i działania w przypadku powiadomień o wiadomościach).
|
SYSTEM_TEXT_INTELLIGENCE |
Wszystkie:
- Warunki są identyczne jak w przypadku
SYSTEM_UI_INTELLIGENCE ,
ale w przypadku wstępnie zainstalowanej usługi inteligentny procesor tekstowy działa na urządzeniu (np. zapewnia tłumaczenie na żywo lub autouzupełnianie).
|
SYSTEM_VISUAL_INTELLIGENCE |
Wszystkie:
- Warunki są identyczne jak w przypadku
SYSTEM_UI_INTELLIGENCE , z tym że wstępnie zainstalowana usługa udostępnia inteligentny procesor na urządzeniu do obsługi funkcji wizualnych, który analizuje dane z kamery. Może to być na przykład utrzymywanie ekranu telefonu w stanie aktywnym, gdy użytkownik na niego patrzy, lub określanie idealnej orientacji ekranu na podstawie ułożenia twarzy użytkownika zarejestrowanego przez przedni aparat urządzenia.
|
COMPANION_DEVICE_APP_STREAMING |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Dozwolone przypadki użycia:
- przesyłanie strumieniowe, przesyłanie na inne urządzenie lub dublowanie aplikacji, które umożliwiają przesyłanie strumieniowe, przesyłanie na inne urządzenie lub dublowanie z urządzenia z Androidem, takiego jak telefon komórkowy lub tablet, na komputer stacjonarny lub laptopa;
- Podczas nawiązywania początkowego połączenia z urządzenia A z urządzeniem B:
- Parowanie MUSI być autoryzowane za pomocą jednorazowego kodu wyświetlanego na urządzeniu źródłowym (A) i wprowadzanego na urządzeniu połączonym (B).
Jeśli na obu urządzeniach jest co najmniej 1 konto pasujące do konta w Menedżerze kont Androida, użytkownik MOŻE potwierdzić parowanie, wpisując hasło do konta na połączonym urządzeniu (B).
- Podczas parowania oba urządzenia muszą znajdować się w pobliżu siebie
1.
- Podczas przesyłania strumieniowego oba urządzenia muszą znajdować się blisko siebie
1.
- Aplikacja może tworzyć kanały komunikacji z połączonymi urządzeniami i nimi zarządzać, aby urządzenia mogły wymieniać się danymi. Aby ustanowić te kanały komunikacji, aplikacja i połączone urządzenia MUSZĄ się wzajemnie uwierzytelnić (np. poprzez udowodnienie znajomości wspólnych kluczy). Kanały komunikacji MUSZĄ być chronione za pomocą pełnego szyfrowania.
- Aplikacja może wysyłać powiadomienia z urządzenia źródłowego (A) na połączone urządzenie (B), aby umożliwić użytkownikowi podejmowanie działań na podstawie powiadomień na połączonym urządzeniu (B).
- przesyłać strumieniowo metadane potrzebne do strumieniowego przesyłania aplikacji na połączone urządzenie (B), takie jak lista aplikacji dostępnych na urządzeniu źródłowym (A);
- umożliwiać przesyłanie strumieniowe aplikacji z urządzenia źródłowego (A) na połączone urządzenie (B) po tym, jak użytkownik wyraził na to zgodę (na urządzeniu źródłowym (A) lub połączonym urządzeniu (B)).
- odtwarzać (wstrzykiwać) zdarzenia, które występują w przesyłanej aplikacji na połączonym urządzeniu (B), na urządzeniu źródłowym (A); Na przykład odtwarzanie zdarzenia dotyku na urządzeniu połączonym (B) w tych samych współrzędnych co na urządzeniu źródłowym (A) lub odtwarzanie zdarzenia wprowadzania, które miało miejsce na urządzeniu połączonym (B) z tą samą semantyką wprowadzania co na urządzeniu źródłowym (A).
- Aplikacja może zastąpić strumień mikrofonu urządzenia źródłowego strumieniem mikrofonu urządzenia połączonego, gdy strumień aplikacji jest odtwarzany przy użyciu mikrofonu.
- Aplikacja rejestruje dźwięk z urządzenia źródłowego (A) i przesyła go do połączonego urządzenia (B).
- ZALECAMY zablokowanie dostępu do aplikacji ustawień i sklepów z aplikacjami na połączonym urządzeniu (B).
- Począwszy od Androida 16 na połączonym urządzeniu (B) należy zablokować możliwość wykonywania zrzutów ekranu i odczytywania treści poufnych, takich jak
zabezpieczone okna i powierzchnie.
- MUSI zweryfikować integralność wersji systemu operacyjnego na urządzeniu (np. za pomocą uwierzytelniania urządzenia, jak w
VerifiedBootState ).
- Przesyłać strumieniowo aplikacje tylko wtedy, gdy w rejestrze kont na urządzeniu jest tylko jedno pasujące konto (na przykład klasa
AccountManager w Androidzie) na obu urządzeniach. Jeśli tak nie jest, strumieniowe przesyłanie danych MUSI zostać autoryzowane za pomocą jednorazowego kodu wyświetlanego na urządzeniu źródłowym (A) i wprowadzonego na urządzeniu połączonym (B).
Pamiętaj, że w przypadku urządzeń obsługujących wielu użytkowników (a nie wiele kont) z tą samą niezawodną izolacją danych jak w Androidzie z wielu użytkownikami użytkownik jest liczony jako urządzenie.
- W przypadku wygaśnięcia lub cofnięcia uwierzytelnienia konta na urządzeniu (B) natychmiast zatrzymać strumieniowe przesyłanie danych i rozłączyć się z połączonym urządzeniem (B).
- MUSI zatrzymać strumieniowe przesyłanie danych i rozłączyć się z połączonym urządzeniem (B) po upływie czasu bezczynności na tym urządzeniu, na którym wyświetlane są treści. MOŻE pozostawić włączony ekran urządzenia, z którego korzysta użytkownik, w przypadku takich funkcji jak WakeLock, które utrzymują ekran urządzenia z Androidem w stanie włączonym. Czas oczekiwania w przypadku bezczynności MUSI być podany. Jeśli połączone urządzenie (B) nie ma własnego limitu czasu bezczynności, NALEŻY użyć limitu czasu bezczynności wynoszącego maksymalnie 5 minut.
- Jeśli urządzenie źródłowe (A) używa czynnika wiedzy dotyczącego ekranu blokady (LSKF), gdy ekran jest zablokowany, aplikacja NIE MOŻE przesyłać aplikacji do połączonego urządzenia (B), chyba że połączone urządzenie (B) ma ekran blokady i jest odblokowane.
- Jeśli urządzenie źródłowe (A) jest zarządzane przez administratora, aplikacja MUSI przestrzegać zasad administratora dotyczących włączania lub wyłączania strumieniowego przesyłania danych na urządzenia w pobliżu (np. za pomocą ustawień
DevicePolicyManager na Androidzie).
- NALEŻY zadbać o to, aby wyświetlacze zdalne i wszystkie źródła zdarzeń danych wejściowych zdalnych należały z perspektywy użytkownika do tego samego urządzenia logicznego (np. wyświetlacza zdalnego i podłączonej klawiatury) i aby zdarzenia były odpowiednio kierowane.
- Użytkownik MUSI mieć możliwość zakończenia strumieniowego przesyłania z urządzenia źródłowego (A),
na przykład za pomocą przycisku w trwałym powiadomieniu. To zachowanie jest ograniczone przez ekran blokady, jeśli urządzenie źródłowe (A) ma ustawioną blokadę ekranu. NALEŻY wyświetlić tę trwałą możliwość na urządzeniu źródłowym (A), która jest zawsze widoczna i znajduje się powyżej zagięcia.
- NALEŻY wyświetlić na urządzeniu źródłowym (A) opcję na innym urządzeniu, na którym odbywa się przesyłanie strumieniowe, np. ikonę na pasku stanu lub stałe powiadomienie.
|
DEVICE_POLICY_MANAGEMENT |
Wszystkie:
- Tę rolę aplikacji mogą przyznawać tylko producenci OEM. Aplikacje nie mogą prosić o tę rolę, ponieważ jest ona przyznawana domyślnie nazwie pakietu zdefiniowanej przez producenta OEM w czasie wysyłki urządzenia.
- Aplikacja musi mieć możliwość konfigurowania zarządzanego profilu (właściciel profilu) lub zarządzanego urządzenia (właściciel urządzenia), w tym pobierania i instalowania odpowiedniego klienta zasad urządzenia, aby w razie potrzeby stać się właścicielem urządzenia lub profilu.
- Aplikacja może opcjonalnie dynamicznie aktualizować zasoby, takie jak ciągi tekstowe i elementy graficzne używane do zarządzania zasadami dotyczącymi urządzeń.
- Aplikacja może być wstępnie zainstalowaną aplikacją systemową lub pobrana i zainstalowana przed wdrożeniem.
- W przypadku dostarczania aplikacji właścicielowi profilu, gdy aplikacja posiadacza roli jest zainstalowana u określonego użytkownika Androida, musi być zainstalowana we wszystkich odpowiednich profilach tego użytkownika.
|
SYSTEM_APP_PROTECTION_SERVICE |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Jedynym celem aplikacji jest wykrywanie potencjalnie szkodliwych aplikacji (takich jak trojany, aplikacje do phishingu i szpiegowskie), które mogą narażać użytkowników, ich dane lub urządzenia na ryzyko, oraz niechcianego oprogramowania mobilnego.
- Aplikacja musi spełniać wszystkie wymagania opisane w warunkach użytkowania Androida w sekcji 9.8.6.
dane na poziomie systemu operacyjnego i dane z otoczenia.
- Aplikacja nie może deklarować normalnego uprawnienia
android.permission.INTERNET . Zamiast tego musi mieć dostęp do Internetu za pomocą dobrze zdefiniowanych interfejsów API w projekcie open source.
- Aplikacja nie może się wiązać z innymi aplikacjami, z wyjątkiem tych aplikacji systemowych:
Permission Controller i komponentów udostępniających interfejsy API Telephony i Internet. Każde dozwolone wiązanie musi być skonfigurowane w sposób jawny za pomocą konfiguracji
<allow-association> w konfiguracji systemu.
- Aplikacja nie może udostępniać danych innym aplikacjom, chyba że użytkownik wykona bezpośrednią czynność (np. naciśnie przycisk za każdym razem, gdy dane mają być udostępnione).
|
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Aplikacja musi przenosić dane kalendarza z telefonu z iOS lub Androidem na urządzenie Android Auto. Urządzenie z Androidem Auto musi przechowywać te dane kalendarza w usługodawcy kalendarza.
- Aplikacja musi zawierać element interfejsu użytkownika, za pomocą którego użytkownik może włączyć synchronizację kalendarza i wybrać kalendarze do synchronizacji. Aplikacja musi udostępniać na telefonie element interfejsu, za pomocą którego użytkownik może wyłączyć synchronizację z kalendarzem.
- Aplikacja powinna działać bez połączenia z internetem. na przykład za pomocą połączeń przewodowych lub bezprzewodowych;
|
AUTOMOTIVE_NAVIGATION |
Wszystkie:
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą niejawnych żądań o intencje, aby wyświetlić bieżącą lokalizację użytkownika i otoczenie.
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań niejawnych intencji, co pozwala użytkownikowi przejść do określonej lokalizacji geograficznej.
- Aplikacja ma aktywność, która jest uruchamiana na panelu sterowania, gdy aplikacja ma fokus nawigacji.
Aktywność musi pokazywać bieżącą lokalizację użytkownika i otoczenie oraz umożliwiać nawigację do określonej lokalizacji geograficznej.
|
COMPANION_DEVICE_COMPUTER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Umożliwia użytkownikom wyświetlanie powiadomień i dostęp do zdjęć oraz multimediów z telefonu na połączonym komputerze.
|
SYSTEM_SETTINGS_INTELLIGENCE |
Co najmniej 1 z tych elementów:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Usługa zapewniająca funkcje inteligentne dla aplikacji Ustawienia, takie jak sugestie i wyszukiwanie.
|
NOTES |
Wszystkie:
|
COMPANION_DEVICE_GLASSES |
Aplikacja może wysyłać żądania powiązania z urządzeniem do obsługi okularów i zarządzania nim (za pomocą interfejsu API udostępnianego przez klasę CompanionDeviceManager ). Gdy okulary i aplikacja są połączone za pomocą interfejsu CDM, użytkownicy mogą zarządzać okularami, przyznając im dostęp do kontaktów oraz uprawnienia do zarządzania powiadomieniami i wybieraniem połączeń.
|
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Dozwolone przypadki użycia:
- przesyłanie strumieniowe aplikacji z urządzenia z Androidem, takiego jak telefon komórkowy lub tablet, do pojazdu;
- przesyłanie strumieniowe aplikacji z urządzenia z Androidem, takiego jak telefon komórkowy lub tablet, na urządzenie XR;
- Podczas nawiązywania początkowego połączenia z urządzenia A z urządzeniem B:
- Parowanie MUSI być autoryzowane za pomocą jednorazowego kodu wyświetlanego na urządzeniu źródłowym (A) i wprowadzanego na urządzeniu połączonym (B).
Jeśli na obu urządzeniach jest co najmniej 1 konto pasujące do konta w Menedżerze kont Androida, użytkownik MOŻE potwierdzić parowanie, wpisując hasło do konta na połączonym urządzeniu (B).
- Podczas parowania oba urządzenia muszą znajdować się w pobliżu siebie
1.
- Podczas przesyłania strumieniowego oba urządzenia muszą znajdować się blisko siebie
1.
- Aplikacja może tworzyć kanały komunikacji z połączonymi urządzeniami i nimi zarządzać, aby urządzenia mogły wymieniać się danymi. Aby ustanowić te kanały komunikacji, aplikacja i połączone urządzenia MUSZĄ się wzajemnie uwierzytelnić (np. poprzez udowodnienie znajomości wspólnych kluczy). Kanały komunikacji MUSZĄ być chronione za pomocą pełnego szyfrowania.
- Aplikacja może wysyłać powiadomienia z urządzenia źródłowego (A) na połączone urządzenie (B), aby umożliwić użytkownikowi podejmowanie działań na podstawie powiadomień na połączonym urządzeniu (B).
- przesyłać strumieniowo metadane potrzebne do strumieniowego przesyłania aplikacji na połączone urządzenie (B), takie jak lista aplikacji dostępnych na urządzeniu źródłowym (A);
- umożliwiać przesyłanie strumieniowe aplikacji z urządzenia źródłowego (A) na połączone urządzenie (B) po tym, jak użytkownik wyraził na to zgodę (na urządzeniu źródłowym (A) lub połączonym urządzeniu (B)).
- odtwarzać (wstrzykiwać) zdarzenia, które występują w przesyłanej aplikacji na połączonym urządzeniu (B), na urządzeniu źródłowym (A); Na przykład odtwarzanie zdarzenia dotyku na urządzeniu połączonym (B) w tych samych współrzędnych co na urządzeniu źródłowym (A) lub odtwarzanie zdarzenia wprowadzania, które miało miejsce na urządzeniu połączonym (B) z tą samą semantyką wprowadzania co na urządzeniu źródłowym (A).
- Aplikacja może zastąpić strumień mikrofonu urządzenia źródłowego strumieniem mikrofonu urządzenia połączonego, gdy strumień aplikacji jest odtwarzany przy użyciu mikrofonu.
- Aplikacja rejestruje dźwięk z urządzenia źródłowego (A) i przesyła go do połączonego urządzenia (B).
- ZALECAMY zablokowanie dostępu do aplikacji ustawień i sklepów z aplikacjami na połączonym urządzeniu (B).
- Począwszy od Androida 25Q2 należy zablokować możliwość wykonywania zrzutów ekranu i odczytywania treści poufnych, takich jak
zabezpieczone okna i powierzchnie, na połączonym urządzeniu (B).
- MUSI zweryfikować integralność wersji systemu operacyjnego na urządzeniu (np. za pomocą uwierzytelniania urządzenia, jak w
VerifiedBootState ).
- Przesyłać strumieniowo aplikacje tylko wtedy, gdy w rejestrze kont na urządzeniu jest tylko jedno pasujące konto (na przykład klasa
AccountManager w Androidzie) na obu urządzeniach. Jeśli tak nie jest, strumieniowe przesyłanie danych MUSI zostać autoryzowane za pomocą jednorazowego kodu wyświetlanego na urządzeniu źródłowym (A) i wprowadzonego na urządzeniu połączonym (B).
Pamiętaj, że w przypadku urządzeń obsługujących wielu użytkowników (a nie wiele kont) z tą samą niezawodną izolacją danych jak w Androidzie z wielu użytkownikami użytkownik jest liczony jako urządzenie.
- W przypadku wygaśnięcia lub cofnięcia uwierzytelnienia konta na urządzeniu (B) natychmiast zatrzymać strumieniowe przesyłanie danych i rozłączyć się z połączonym urządzeniem (B).
- MUSI zatrzymać strumieniowe przesyłanie danych i rozłączyć się z połączonym urządzeniem (B) po upływie czasu bezczynności na tym urządzeniu, na którym wyświetlane są treści. MOŻE pozostawić włączony ekran urządzenia, z którego korzysta użytkownik, w przypadku takich funkcji jak WakeLock, które utrzymują ekran urządzenia z Androidem w stanie włączonym. Czas oczekiwania w przypadku bezczynności MUSI być podany. Jeśli połączone urządzenie (B) nie ma własnego limitu czasu bezczynności, NALEŻY użyć limitu czasu bezczynności wynoszącego maksymalnie 5 minut.
- Jeśli urządzenie źródłowe (A) używa czynnika wiedzy dotyczącego ekranu blokady (LSKF), gdy ekran jest zablokowany, aplikacja NIE MOŻE przesyłać aplikacji do połączonego urządzenia (B), chyba że połączone urządzenie (B) ma ekran blokady i jest odblokowane.
- Jeśli urządzenie źródłowe (A) jest zarządzane przez administratora, aplikacja MUSI przestrzegać zasad administratora dotyczących włączania lub wyłączania strumieniowego przesyłania danych na urządzenia w pobliżu (np. za pomocą ustawień
DevicePolicyManager na Androidzie).
- NALEŻY zadbać o to, aby wyświetlacze zdalne i wszystkie źródła zdarzeń danych wejściowych zdalnych należały z perspektywy użytkownika do tego samego urządzenia logicznego (np. wyświetlacza zdalnego i podłączonej klawiatury) i aby zdarzenia były odpowiednio kierowane.
- Użytkownik MUSI mieć możliwość zakończenia strumieniowego przesyłania z urządzenia źródłowego (A),
na przykład za pomocą przycisku w trwałym powiadomieniu. To zachowanie jest ograniczone przez ekran blokady, jeśli urządzenie źródłowe (A) ma ustawioną blokadę ekranu. NALEŻY wyświetlić tę trwałą możliwość na urządzeniu źródłowym (A), która jest zawsze widoczna i znajduje się powyżej zagięcia.
- NALEŻY wyświetlić na urządzeniu źródłowym (A) opcję na innym urządzeniu, na którym odbywa się przesyłanie strumieniowe, np. ikonę na pasku stanu lub stałe powiadomienie.
|
WALLET |
Jedna z tych opcji:
- Aplikacja ma usługę NFC APDU, która rejestruje statycznie co najmniej 1 AID w kategorii PŁATNOŚCI.
- Aplikacja implementuje wystąpienie interfejsu
QuickAccessWalletService .
|