ASSISTANT |
Co najmniej 1 z tych elementów:
- Aplikacja ma aktywność, która wykonuje działania wspomagające na podstawie informacji o kontekście użytkownika w momencie, gdy poprosił on o pomoc (np. nazwa pakietu bieżącej aplikacji na pierwszym planie i informacje kontekstowe).
- Aplikacja ma usługę interakcji głosowej, która jest zawsze włączona i chroniona uprawnieniem
android.permission.BIND_VOICE_INTERACTION . Może ona rozpoznawać mowę i obsługiwać aktywne sesje interakcji głosowej.
Dodatkowo aplikacja ma wyraźną flagę wskazującą, że usługa jest w stanie obsłużyć działanie wspomagające.
|
BROWSER |
Wszystkie:
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań niejawnej intencji. Wyświetla ona 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 kliknie
http:// adreshttp:// w tekście, aplikacja musi być w stanie wyświetlić treść odpowiadającą wybranemu linkowi bez dodatkowej interwencji użytkownika.
- Aplikacja musi być w stanie przekazywać stronom internetowym aktualne informacje o geolokalizacji urządzenia, gdy jest to wymagane, a użytkownik zatwierdzi żądanie.
|
DIALER |
Wszystkie:
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań z niejawnym zamiarem. Zapewnia ona interfejs połączenia, gdy urządzenie jest w trakcie połączenia.
- Aplikacja może obsługiwać intencje połączeń przychodzących, wyświetlać użytkownikowi informacje związane z połączeniem (np. numer telefonu dzwoniącego) i umożliwiać mu odebranie lub odrzucenie połączenia.
- Aplikacja umożliwia użytkownikowi inicjowanie połączeń i wyświetlanie historii połączeń na urządzeniu.
|
SMS |
Wszystkie:
- Aplikacja spełnia wszystkie wymagania dotyczące aplikacji do SMS-ów.
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań z niejawnym zamiarem, co może spowodować wysłanie wiadomości na numer telefonu.
- Aplikacja ma usługę chronioną uprawnieniem
android.permission.SEND_RESPOND_VIA_MESSAGE , którą można wywołać za pomocą niejawnych intencji. Może ona dostarczać wiadomości otrzymane z aplikacji Telefon, gdy użytkownik zdecyduje się odpowiedzieć za pomocą wiadomości podczas połączenia przychodzącego. Aplikacja może dostarczać wiadomości za pomocą własnego systemu przesyłania wiadomości.
- Aplikacja ma 2 odbiorniki transmisji: jeden z uprawnieniem
android.permission.BROADCAST_SMS , a drugi z uprawnieniem android.permission.BROADCAST_WAP_PUSH . Mogą one odpowiednio nasłuchiwać wiadomości SMS i MMS wysyłanych na urządzenie. Aplikacja jest wtedy odpowiedzialna za wysyłanie wiadomości do dostawcy SMS-ów i powiadamianie użytkowników.
|
EMERGENCY |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Aplikacja ma aktywność, która wyświetla informacje alarmowe użytkownika.
Każdy może przejść do tego ekranu, klikając przycisk Alarmowy w aplikacji Alarmowy dialer.
|
HOME |
Aplikacja ma aktywność, która może uruchomić ekran główny, gdy użytkownik naciśnie przycisk ekranu głównego. Na ekranie głównym powinny być widoczne ikony aplikacji i widżety, a nawigacja powinna być obsługiwana za pomocą przycisków lub gestów (np. przesunięcie palcem w górę, aby wyświetlić wszystkie aplikacje).
|
CALL_REDIRECTION |
Aplikacja ma usługę chronioną uprawnieniem android.permission.BIND_CALL_REDIRECTION_SERVICE , z którą może się połączyć platforma telekomunikacyjna. Usługa otrzymuje wychodzący numer telefonu z platformy telekomunikacyjnej i wykonuje jedną z tych czynności:
- Zezwól na nawiązanie połączenia w obecnej formie.
- Zmień numer wychodzący, aby kierować połączenia przez numer proxy.
- Anuluj połączenie.
|
CALL_SCREENING |
Aplikacja ma usługę chronioną uprawnieniem android.permission.BIND_SCREENING_SERVICE , która pełni 2 funkcje:
- Blokowanie i filtrowanie połączeń: usługa może wybierać, które połączenia mają być przekazywane do aplikacji do wybierania numerów na telefonie (i potencjalnie dzwonić, biorąc pod uwagę tryb Nie przeszkadzać lub głośność), a które mają być cicho przekazywane na pocztę głosową.
- Identyfikacja połączeń: usługa może identyfikować połączenia i wyświetlać informacje o nich w interfejsie użytkownika.
|
SYSTEM_GALLERY |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja udostępnia interfejs użytkownika do przechowywania, porządkowania i wyświetlania filmów i obrazów.
|
SYSTEM_AUTOMOTIVE_CLUSTER |
Wszystkie:
- Aplikacja jest aplikacją systemową w systemie Automotive.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja umożliwia użytkownikom odbieranie połączeń telefonicznych oraz dostęp do list kontaktów i rejestrów połączeń na wyświetlaczu samochodowym (zwykle obok kierownicy).
|
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 za pomocą interfejsu udostępnianego przez aplikację, użytkownicy mogą zarządzać zegarkiem z poziomu aplikacji, w tym synchronizować kontakty i kalendarz oraz zarządzać powiadomieniami i połączeniami telefonicznymi.
|
SYSTEM_AUTOMOTIVE_PROJECTION |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent 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 muzyką, nawigacją, połączeniami telefonicznymi i wyszukiwaniem, za pomocą mechanizmów wejściowych w pojeździe, w tym dotyku, 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ę może przyznać aplikacji tylko producent OEM.
- Aplikacja udostępnia interfejs działający na poziomie wiersza poleceń, dzięki czemu użytkownicy mogą wchodzić w interakcję z systemem operacyjnym Android. Na przykład wyświetlanie zawartości folderu lub uruchamianie aplikacji. Polecenia powłoki mogą być wykonywane programowo przez aplikacje (pod warunkiem przyznania niezbędnych uprawnień) lub za pomocą narzędzia ADB.
|
SYSTEM_CONTACTS |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja udostępnia interfejs użytkownika do zarządzania kontaktami (np. wyświetlania, udostępniania, dodawania, usuwania lub wyszukiwania kontaktu). Aplikacja aktualizuje dostawcę kontaktów, gdy użytkownik aktualizuje kontakty w aplikacji. Użytkownicy mogą też dzwonić do kontaktów, wysyłać do nich e-maile i SMS-y z poziomu aplikacji.
|
SYSTEM_SPEECH_RECOGNIZER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja udostępnia usługę rozpoznawania mowy.
- Gdy aplikacja otrzymuje strumienie danych z mikrofonu na żywo z innej aplikacji na potrzeby rozpoznawania mowy, prawidłowo przypisuje użycie mikrofonu do aplikacji wywołującej i odpowiednio aktualizuje statystyki działania aplikacji.
|
SYSTEM_WIFI_COEX_MANAGER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja ma usługę, która dynamicznie ustawia listę kanałów Wi-Fi, których urządzenie powinno unikać ze względu na zakłócenia komórkowe.
|
SYSTEM_WELLBEING |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja powinna umożliwiać użytkownikom ograniczenie rozpraszania uwagi i wyświetlać 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ę może przyznać aplikacji tylko producent OEM.
- Aplikacja musi wyświetlać użytkownikom powiadomienia w formie wyskakujących okienek na urządzeniach TV. Aplikacja musi też wyświetlać bieżące aktywne powiadomienia, gdy wysyłany jest zamiar
android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (z SystemUI).
|
SYSTEM_COMPANION_DEVICE_PROVIDER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja musi być w stanie wykrywać urządzenia peryferyjne w pobliżu. Musi mieć 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ą. Gdy użytkownik potwierdzi, 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ę może przyznać aplikacji tylko producent OEM.
- Aplikacja ma aktywność, która umożliwia użytkownikom dostęp do istniejących dokumentów i tworzenie nowych dokumentów na urządzeniu.
- Aplikacja musi spełniać wszystkie wymagania określone w sekcji 2.2.3 dokumentu CDD dla Androida. Oprogramowanie
w sekcji
[3.2.3.1/H-0-1].
|
SYSTEM_ACTIVITY_RECOGNIZER |
Wszystkie:
|
SYSTEM_UI |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja ma interfejs, który umożliwia użytkownikom obsługę telefonów. Na przykład ekran główny telefonu, nawigacja, ostatnio używane aplikacje, szybkie ustawienia, pasek powiadomień, ekran blokady, regulacja głośności.
|
SYSTEM_TELEVISION_REMOTE_SERVICE |
Wszystkie:
- Aplikacja jest aplikacją systemową na Androidzie TV.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja ma usługę, która może komunikować się z urządzeniem HID pilota do telewizora (np. przez BLE), wstrzykiwać zdarzenia (np. kliknięcia przycisków) i wysyłać inne dane (np. strumień audio z mikrofonu wbudowanego w pilota) na platformę.
|
SYSTEM_UI_INTELLIGENCE |
Wszystkie:
- Jest to preinstalowana usługa, która za pomocą interfejsów API platformy (publicznych lub systemowych) udostępnia na urządzeniu inteligentny procesor do obsługi funkcji interfejsu systemu (np. przewidywania i wyświetlania użytkownikom kolejnych aplikacji).
- Usługa musi spełniać wszystkie wymagania określone w sekcji 9.8.6 Przechwytywanie treści dokumentu CDD dla Androida.
- Usługa nie może mieć uprawnienia
android.permission.INTERNET . Zamiast tego musi uzyskiwać dostęp do internetu za pomocą dobrze zdefiniowanych interfejsów API w projekcie open source.
- Usługa nie może być powiązana z aplikacjami, z wyjątkiem tych aplikacji systemowych: Bluetooth, Kontakty, Multimedia, Telefonia, SystemUI i komponenty udostępniające interfejsy API internetu. Każde dozwolone powiązanie musi być skonfigurowane w sposób jednoznaczny za pomocą
<allow-association> w konfiguracji systemu.
- Usługa nie może udostępniać danych aplikacjom, chyba że użytkownik wykona bezpośrednie działanie (np. za każdym razem, gdy dane są udostępniane, użytkownik musi wyraźnie nacisnąć przycisk).
|
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE |
Wszystkie:
- Identyczne z warunkami dla
SYSTEM_UI_INTELLIGENCE , z tym że preinstalowana usługa zapewnia na urządzeniu inteligentny procesor dźwięku otoczenia (np. rozpoznawanie utworów odtwarzanych w pobliżu urządzenia).
|
SYSTEM_AUDIO_INTELLIGENCE |
Wszystkie:
- Identyczne z warunkami dla
SYSTEM_UI_INTELLIGENCE , z tym że preinstalowana usługa udostępnia na urządzeniu inteligentny procesor dźwięku (np. do tworzenia napisów do filmów, podcastów, rozmów telefonicznych, połączeń wideo i wiadomości głosowych).
|
SYSTEM_NOTIFICATION_INTELLIGENCE |
Wszystkie:
- Identyczne jak warunki dla
SYSTEM_UI_INTELLIGENCE ,
z tym wyjątkiem, że preinstalowana
usługa udostępnia na urządzeniu inteligentny procesor powiadomień
(np. sugerujący odpowiedzi i działania w przypadku powiadomień o wiadomościach).
|
SYSTEM_TEXT_INTELLIGENCE |
Wszystkie:
- Identyczne jak w przypadku warunków
SYSTEM_UI_INTELLIGENCE , z tym że preinstalowana usługa udostępnia na urządzeniu inteligentny procesor tekstu (np. do tłumaczenia na żywo lub autouzupełniania).
|
SYSTEM_VISUAL_INTELLIGENCE |
Wszystkie:
- Identyczne jak warunki dla
SYSTEM_UI_INTELLIGENCE , z tym wyjątkiem, że wstępnie zainstalowana usługa udostępnia na urządzeniu inteligentny procesor funkcji wizualnych, który analizuje dane z kamery. Może to być na przykład utrzymywanie włączonego ekranu telefonu, gdy użytkownik na niego patrzy, lub określanie optymalnej orientacji ekranu na podstawie orientacji twarzy użytkownika wykrywanej przez przedni aparat urządzenia.
|
COMPANION_DEVICE_APP_STREAMING |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Dozwolone przypadki użycia:
- Przesyłanie strumieniowe, przesyłanie lub klonowanie aplikacji, które umożliwiają przesyłanie strumieniowe, przesyłanie lub klonowanie z urządzenia z Androidem, takiego jak telefon komórkowy lub tablet, na komputer stacjonarny lub laptop.
- Podczas nawiązywania pierwszego połączenia z urządzenia A do urządzenia B:
- Parowanie MUSI zostać autoryzowane za pomocą jednorazowego kodu wyświetlanego na urządzeniu źródłowym (A) i wpisywanego na połączonym urządzeniu (B).
Jeśli na obu urządzeniach jest co najmniej jedno pasujące konto w usłudze AccountManager na Androidzie, 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ę blisko siebie
1.
- Podczas strumieniowania 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ć dane. Aplikacja i połączone urządzenia MUSZĄ się wzajemnie uwierzytelnić (np. poprzez potwierdzenie znajomości wspólnych kluczy), aby utworzyć te kanały komunikacji. Kanały komunikacji MUSZĄ być chronione pełnym szyfrowaniem.
- Aplikacja może wysyłać powiadomienia z urządzenia źródłowego (A) na połączone urządzenie (B), aby umożliwić użytkownikowi podjęcie działań w związku z tymi powiadomieniami na połączonym urządzeniu (B).
- przesyłać metadane niezbędne do strumieniowego przesyłania aplikacji na połączone urządzenie (B), np. listę 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 na połączonym urządzeniu (B)).
- możliwość odtwarzania (wstrzykiwania) zdarzeń, które mają miejsce w strumieniowanej aplikacji na połączonym urządzeniu (B), z powrotem na urządzeniu źródłowym (A); Na przykład odtwarzanie zdarzenia dotykowego na połączonym urządzeniu (B) w tych samych współrzędnych co na urządzeniu źródłowym (A) lub odtwarzanie zdarzenia wejściowego, które wystąpiło na połączonym urządzeniu (B), z tą samą semantyką wejściową co na urządzeniu źródłowym (A).
- Aplikacja może zastąpić strumień z mikrofonu urządzenia źródłowego strumieniem z mikrofonu podłączonego urządzenia, gdy strumieniowana aplikacja używa mikrofonu.
- Aplikacja rejestruje dźwięk z urządzenia źródłowego (A) i przesyła go strumieniowo do połączonego urządzenia (B).
- ZALECAMY zablokowanie dostępu do aplikacji ustawień i sklepów z aplikacjami na połączonym urządzeniu (B).
- Od Androida 16 zrzuty ekranu i odczytywanie ekranu treści poufnych, takich jak
bezpieczne okna i platformy, MUSZĄ być blokowane na połączonym urządzeniu (B).
- MUSI weryfikować integralność kompilacji systemu operacyjnego podłączonego urządzenia (np. za pomocą atestu urządzenia, jak w
VerifiedBootState ).
- Przesyłaj strumieniowo tylko te aplikacje, w przypadku których w rejestrze kont na urządzeniu jest tylko jedno pasujące konto (np. klasa
AccountManager na Androidzie) na obu urządzeniach. Jeśli tak nie jest, strumieniowe przesyłanie MUSI być autoryzowane za pomocą jednorazowego kodu wyświetlanego na urządzeniu źródłowym (A) i wpisywanego na urządzeniu połączonym (B).
Pamiętaj, że w przypadku urządzeń, które obsługują wielu użytkowników (a nie wiele kont) z tym samym niezawodnym odseparowaniem danych, jak w przypadku Androida dla wielu użytkowników, użytkownik jest liczony jako urządzenie.
- MUSI natychmiast przerwać strumieniowanie i odłączyć się od połączonego urządzenia (B), jeśli uwierzytelnianie konta na połączonym urządzeniu (B) wygaśnie lub zostanie cofnięte.
- MUSI zatrzymać strumieniowanie i odłączyć się od połączonego urządzenia (B), gdy połączone urządzenie (B), na którym wyświetlane są treści, osiągnie limit czasu bezczynności. MOŻE utrzymywać włączony ekran połączonego urządzenia w przypadkach takich jak WakeLock, które utrzymują włączony ekran urządzenia z Androidem. Musi być podany czas oczekiwania bezczynności. Jeśli podłączone urządzenie (B) nie ma własnego limitu czasu bezczynności, musi być używany limit czasu bezczynności wynoszący maksymalnie 5 minut.
- Jeśli urządzenie źródłowe (A) korzysta z czynnika wiedzy o ekranie blokady (LSKF), po zablokowaniu ekranu aplikacja NIE MOŻE przesyłać strumieniowo aplikacji na połączone urządzenie (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 ustawionych przez administratora dotyczących włączania lub wyłączania przesyłania strumieniowego na urządzenia w pobliżu (np. za pomocą
DevicePolicyManager ustawień w Androidzie).
- MUSI zapewnić, że zdalne wyświetlacze i wszystkie źródła zdalnych zdarzeń wejściowych należą do tego samego urządzenia logicznego (np. zdalny wyświetlacz i podłączona klawiatura) z perspektywy użytkownika, a zdarzenia są odpowiednio kierowane.
- Użytkownik MUSI mieć możliwość zakończenia strumieniowania z urządzenia źródłowego (A), np. 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. MUSI wyświetlać tę trwałą funkcję na urządzeniu źródłowym (A), która jest zawsze widoczna i znajduje się powyżej linii zagięcia.
- MUSI wyświetlać element interfejsu na urządzeniu źródłowym (A), gdy strumieniowanie odbywa się na innym urządzeniu, np. ikonę na pasku stanu lub trwałe powiadomienie.
|
DEVICE_POLICY_MANAGEMENT |
Wszystkie:
- Tę rolę może przyznać aplikacji tylko producent OEM. Aplikacje nie mogą o nią prosić, ponieważ ma ona być przyznawana od razu po wyjęciu z pudełka nazwie pakietu zdefiniowanej przez producenta OEM podczas wysyłki urządzenia.
- Aplikacja musi mieć możliwość udostępniania profilu zarządzanego (właściciela profilu) lub urządzenia zarządzanego (właściciela urządzenia), w tym pobierania i instalowania odpowiedniego klienta zasad urządzenia, który w razie potrzeby będzie właścicielem urządzenia lub profilu.
- Aplikacja może opcjonalnie dynamicznie aktualizować zasoby, takie jak ciągi tekstowe czy elementy rysunkowe używane do zarządzania zasadami dotyczącymi urządzeń.
- Aplikacja może być wstępnie zainstalowaną aplikacją systemową lub może zostać pobrana i zainstalowana przed udostępnieniem.
- W przypadku udostępniania aplikacji właścicielowi profilu, gdy aplikacja posiadacza roli jest zainstalowana na danym użytkowniku Androida, musi być zainstalowana na wszystkich odpowiednich profilach tego użytkownika.
|
SYSTEM_APP_PROTECTION_SERVICE |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Jedynym celem aplikacji jest wykrywanie potencjalnie szkodliwych aplikacji (takich, które mogą narazić na ryzyko użytkowników, ich dane lub urządzenia, np. trojanów, aplikacji do phishingu i programów szpiegowskich) lub niechcianego oprogramowania mobilnego.
- Aplikacja musi spełniać wszystkie wymagania określone w sekcji 9.8.6 dokumentu CDD Androida.
dane na poziomie systemu operacyjnego i dane z otoczenia.
- Aplikacja nie może deklarować
android.permission.INTERNET
normalnego uprawnienia. Zamiast tego musi uzyskiwać dostęp do internetu za pomocą dobrze zdefiniowanych interfejsów API w projekcie open source.
- Aplikacja nie może łączyć się z innymi aplikacjami, z wyjątkiem tych aplikacji systemowych:
kontroler uprawnień i komponenty udostępniające interfejsy API Telefonu i Internetu. Każde dozwolone powiązanie musi być skonfigurowane w sposób jednoznaczny za pomocą konfiguracji
<allow-association> w konfiguracji systemu.
- Aplikacja nie może udostępniać danych innym aplikacjom, chyba że użytkownik wykona bezpośrednie działanie (np. za każdym razem, gdy dane są udostępniane, użytkownik musi wyraźnie nacisnąć przycisk).
|
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Aplikacja musi przesyłać dane kalendarza z telefonu użytkownika z iOS lub Androidem na urządzenie z Androidem Auto. Urządzenie z Androidem Auto musi przechowywać te dane kalendarza u dostawcy kalendarza.
- Aplikacja musi udostępniać na telefonie komponent interfejsu, za pomocą którego użytkownik może włączyć synchronizację kalendarza i wybrać kalendarze do synchronizacji. Aplikacja musi udostępniać na telefonie komponent interfejsu, za pomocą którego użytkownik może wyłączyć synchronizację kalendarza.
- Aplikacja powinna działać bez połączenia z internetem. na przykład za pomocą bezpośrednich połączeń przewodowych lub bezprzewodowych.
|
AUTOMOTIVE_NAVIGATION |
Wszystkie:
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań niejawnego zamiaru, która pokazuje bieżącą lokalizację użytkownika i otoczenie.
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań niejawnego zamiaru, co pozwala użytkownikowi przejść do określonej lokalizacji geograficznej.
- Aplikacja ma aktywność, która jest uruchamiana w klastrze przyrządów, gdy aplikacja ma fokus nawigacji.
Aktywność musi pokazywać bieżącą lokalizację użytkownika i otoczenie oraz umożliwiać mu przejście do określonej lokalizacji geograficznej.
|
COMPANION_DEVICE_COMPUTER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Umożliwia użytkownikom klonowanie powiadomień oraz uzyskiwanie dostępu do zdjęć i multimediów z telefonu na połączonym komputerze.
|
SYSTEM_SETTINGS_INTELLIGENCE |
Co najmniej 1 z tych elementów:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- ma usługę, która udostępnia funkcje oparte na sztucznej inteligencji w aplikacji Ustawienia, takie jak sugestie i wyszukiwanie;
|
NOTES |
Wszystkie:
|
COMPANION_DEVICE_GLASSES |
Aplikacja może wysyłać żądania powiązania z urządzeniem w postaci 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 udostępnianego przez CDM, użytkownicy mogą zarządzać okularami, przyznając im dostęp do kontaktów oraz uprawnienia do zarządzania powiadomieniami i połączeniami telefonicznymi.
|
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę może przyznać aplikacji tylko producent OEM.
- Dozwolone przypadki użycia:
- Przesyłanie strumieniowe aplikacji z urządzenia z Androidem, takiego jak telefon komórkowy lub tablet, do pojazdu.
- Strumieniowanie aplikacji z urządzenia z Androidem, takiego jak telefon komórkowy lub tablet, na urządzenie XR.
- Podczas nawiązywania pierwszego połączenia z urządzenia A do urządzenia B:
- Parowanie MUSI zostać autoryzowane za pomocą jednorazowego kodu wyświetlanego na urządzeniu źródłowym (A) i wpisywanego na połączonym urządzeniu (B).
Jeśli na obu urządzeniach jest co najmniej jedno pasujące konto w usłudze AccountManager na Androidzie, 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ę blisko siebie
1.
- Podczas strumieniowania 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ć dane. Aplikacja i połączone urządzenia MUSZĄ się wzajemnie uwierzytelnić (np. poprzez potwierdzenie znajomości wspólnych kluczy), aby utworzyć te kanały komunikacji. Kanały komunikacji MUSZĄ być chronione pełnym szyfrowaniem.
- Aplikacja może wysyłać powiadomienia z urządzenia źródłowego (A) na połączone urządzenie (B), aby umożliwić użytkownikowi podjęcie działań w związku z tymi powiadomieniami na połączonym urządzeniu (B).
- przesyłać metadane niezbędne do strumieniowego przesyłania aplikacji na połączone urządzenie (B), np. listę 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 na połączonym urządzeniu (B)).
- możliwość odtwarzania (wstrzykiwania) zdarzeń, które mają miejsce w strumieniowanej aplikacji na połączonym urządzeniu (B), z powrotem na urządzeniu źródłowym (A); Na przykład odtwarzanie zdarzenia dotykowego na połączonym urządzeniu (B) w tych samych współrzędnych co na urządzeniu źródłowym (A) lub odtwarzanie zdarzenia wejściowego, które wystąpiło na połączonym urządzeniu (B), z tą samą semantyką wejściową co na urządzeniu źródłowym (A).
- Aplikacja może zastąpić strumień z mikrofonu urządzenia źródłowego strumieniem z mikrofonu podłączonego urządzenia, gdy strumieniowana aplikacja używa mikrofonu.
- Aplikacja rejestruje dźwięk z urządzenia źródłowego (A) i przesyła go strumieniowo do połączonego urządzenia (B).
- ZALECAMY zablokowanie dostępu do aplikacji ustawień i sklepów z aplikacjami na połączonym urządzeniu (B).
- Od Androida 25Q2 na połączonym urządzeniu (B) MUSI być uniemożliwione robienie zrzutów ekranu i odczytywanie ekranu z treściami wrażliwymi, takimi jak
bezpieczne okna i platformy.
- MUSI weryfikować integralność kompilacji systemu operacyjnego podłączonego urządzenia (np. za pomocą atestu urządzenia, jak w
VerifiedBootState ).
- Przesyłaj strumieniowo tylko te aplikacje, w przypadku których w rejestrze kont na urządzeniu jest tylko jedno pasujące konto (np. klasa
AccountManager na Androidzie) na obu urządzeniach. Jeśli tak nie jest, strumieniowe przesyłanie MUSI być autoryzowane za pomocą jednorazowego kodu wyświetlanego na urządzeniu źródłowym (A) i wpisywanego na urządzeniu połączonym (B).
Pamiętaj, że w przypadku urządzeń, które obsługują wielu użytkowników (a nie wiele kont) z tym samym niezawodnym odseparowaniem danych, jak w przypadku Androida dla wielu użytkowników, użytkownik jest liczony jako urządzenie.
- MUSI natychmiast przerwać strumieniowanie i odłączyć się od połączonego urządzenia (B), jeśli uwierzytelnianie konta na połączonym urządzeniu (B) wygaśnie lub zostanie cofnięte.
- MUSI zatrzymać strumieniowanie i odłączyć się od połączonego urządzenia (B), gdy połączone urządzenie (B), na którym wyświetlane są treści, osiągnie limit czasu bezczynności. MOŻE utrzymywać włączony ekran połączonego urządzenia w przypadkach takich jak WakeLock, które utrzymują włączony ekran urządzenia z Androidem. Musi być podany czas oczekiwania bezczynności. Jeśli podłączone urządzenie (B) nie ma własnego limitu czasu bezczynności, musi być używany limit czasu bezczynności wynoszący maksymalnie 5 minut.
- Jeśli urządzenie źródłowe (A) korzysta z czynnika wiedzy o ekranie blokady (LSKF), po zablokowaniu ekranu aplikacja NIE MOŻE przesyłać strumieniowo aplikacji na połączone urządzenie (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 ustawionych przez administratora dotyczących włączania lub wyłączania przesyłania strumieniowego na urządzenia w pobliżu (np. za pomocą
DevicePolicyManager ustawień w Androidzie).
- MUSI zapewnić, że zdalne wyświetlacze i wszystkie źródła zdalnych zdarzeń wejściowych należą do tego samego urządzenia logicznego (np. zdalny wyświetlacz i podłączona klawiatura) z perspektywy użytkownika, a zdarzenia są odpowiednio kierowane.
- Użytkownik MUSI mieć możliwość zakończenia strumieniowania z urządzenia źródłowego (A), np. 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. MUSI wyświetlać tę trwałą funkcję na urządzeniu źródłowym (A), która jest zawsze widoczna i znajduje się powyżej linii zagięcia.
- MUSI wyświetlać element interfejsu na urządzeniu źródłowym (A), gdy strumieniowanie odbywa się na innym urządzeniu, np. ikonę na pasku stanu lub trwałe powiadomienie.
|
WALLET |
Jedna z tych wartości:
- Aplikacja ma usługę APDU NFC, która statycznie rejestruje co najmniej 1 identyfikator aplikacji w kategorii PŁATNOŚCI.
- Aplikacja implementuje instancję
QuickAccessWalletService .
|