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, gdy ten poprosił o pomoc (na przykład nazwę 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 może obsłużyć działanie wspomagające.
|
BROWSER |
Wszystkie z tych usług:
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań niejawnych intencji. 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 dodatkowej interwencji użytkownika.
- 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 działanie, które aplikacje mogą wywoływać za pomocą żądań niejawnych, które udostępniają interfejs użytkownika podczas połączenia, gdy urządzenie bierze udział w wywołaniu.
- Aplikacja może obsługiwać intencje połączeń przychodzących, wyświetlać informacje związane z połączeniem (np. numer telefonu rozmówcy) oraz umożliwiać użytkownikowi odbieranie lub odrzucanie połączenia.
- Aplikacja umożliwia użytkownikowi nawiązywanie połączeń i wyświetlanie historii połączeń na urządzeniu.
|
SMS |
Wszystkie z tych usług:
- 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ą niejawnych żądań, aby wysłać wiadomość 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ą.
- W aplikacji jest aktywność, która przedstawia informacje alarmowe użytkownika.
Każdy może przejść do tego ekranu za pomocą przycisku alarmowego w aplikacji Dialer w ramach funkcji alarmowej.
|
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 wyświetlać ikony aplikacji i widżety oraz umożliwiać nawigację za pomocą przycisków i gestów (np. przesunięcie palcem w górę, aby zobaczyć 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ć przekierowywane do aplikacji telefonu na telefonie (i potencjalnie dzwonić, jeśli wystąpią problemy z trybem Nie przeszkadzać lub głośności), a które powinny być dyskretnie przekierowane na pocztę głosową.
- Identyfikacja połączenia: usługa może identyfikować i wyświetlać informacje o połączeniu za pomocą interfejsu użytkownika.
|
SYSTEM_GALLERY |
Wszystkie z tych usług:
- Aplikacja jest aplikacją systemową.
- Tę rolę mogą przypisać tylko producentom OEM.
- Aplikacja zawiera 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ą na Automotive.
- Tę rolę mogą przypisać tylko producentom OEM.
- Aplikacja umożliwia wyświetlanie informacji na wyświetlaczu samochodowym (zazwyczaj obok kierownicy), aby użytkownicy mogli odbierać połączenia telefoniczne oraz uzyskiwać dostęp do list 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ę mogą przypisać tylko producentom 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óra ma przypisany identyfikator UID
Process.SHELL_UID .
- Tę rolę mogą przypisać tylko producentom 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 mogą być wykonywane 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ę mogą przypisać tylko producentom 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 dostawcę Kontaktów, gdy użytkownik zaktualizuje swoje kontakty z poziomu aplikacji. Użytkownicy mogą też z niej dzwonić oraz wysyłać e-maile i SMS-y do kontaktów.
|
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 ma 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ę mogą przypisać tylko producentom OEM.
- Aplikacja musi wyświetlać użytkownikom na urządzeniach TV powiadomienia o zbliżającym się wydarzeniu. Aplikacja musi też pokazywać aktualne aktywne powiadomienia, gdy intencja
android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL jest wysyłana (z SystemUI).
|
SYSTEM_COMPANION_DEVICE_PROVIDER |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę mogą przypisać tylko producentom OEM.
- Aplikacja musi być w stanie wykrywać urządzenia peryferyjne w swoim otoczeniu. 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 to potwierdzi, aplikacja do zarządzania przyznaje powiązanemu aplikacji uprawnienia dostępu do urządzenia peryferyjnego (na przykład jego nazwę, adres, klasę i stan powiązania) i może rozpocząć proces tworzenia powiązania.
|
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. Software
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:
- Jest to aplikacja systemowa na Androida 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 Bluetooth Low Energy), wywoływać zdarzenia (np. kliknięcia przycisków) i przesyłać inne dane (np. strumień audio z wbudowanego mikrofonu) do platformy.
|
SYSTEM_UI_INTELLIGENCE |
Wszystkie:
- być wstępnie zainstalowaną usługą, która za pomocą interfejsów API platformy (interfejsów API publicznych lub systemowych) udostępnia inteligentny procesor na urządzeniu do obsługi funkcji interfejsu użytkownika systemu (np. przewidywania i wyświetlania 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 powiązanie należy skonfigurować bezpośrednio w konfiguracji
<allow-association> w konfiguracji systemowej.
- Usługa nie może udostępniać danych aplikacjom, chyba że użytkownik wyraźnie naciśnie przycisk przy każdym udostępnieniu danych.
|
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE |
Wszystkie:
- Te same warunki co w przypadku
SYSTEM_UI_INTELLIGENCE , z tą różnicą, że instalowana fabrycznie usługa udostępnia inteligentny procesor dźwięku otoczenia (np. rozpoznawanie utworów odtwarzanych w pobliżu urządzenia).
|
SYSTEM_AUDIO_INTELLIGENCE |
Wszystkie:
- Te same warunki co w przypadku
SYSTEM_UI_INTELLIGENCE , z tą różnicą, że wstępnie zainstalowana usługa udostępnia inteligentny procesor dźwięku na urządzeniu (na przykład wyświetlanie napisów do filmów, podcasty, połączenia telefoniczne, rozmowy wideo i wiadomości głosowe).
|
SYSTEM_NOTIFICATION_INTELLIGENCE |
Wszystkie z tych usług:
- Warunki są identyczne jak w przypadku
SYSTEM_UI_INTELLIGENCE , z tym że wstępnie zainstalowana usługa zapewnia inteligentny procesor powiadomień na urządzeniu (np. sugerowanie odpowiedzi i działań w przypadku powiadomień o wiadomościach).
|
SYSTEM_TEXT_INTELLIGENCE |
Wszystkie:
- Te same warunki co w przypadku
SYSTEM_UI_INTELLIGENCE , z tą różnicą, że wstępnie zainstalowana usługa udostępnia inteligentny procesor tekstu na urządzeniu (na przykład umożliwia tłumaczenie na żywo lub autouzupełnianie).
|
SYSTEM_VISUAL_INTELLIGENCE |
Wszystkie:
- Te same warunki co w przypadku
SYSTEM_UI_INTELLIGENCE , z tą różnicą, że wstępnie zainstalowana usługa udostępnia inteligentny procesor na urządzeniu do obsługi funkcji wizualnych, które wymagają analizy danych 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.
- Począwszy od Androida 15
Podczas nawiązywania początkowego połączenia z urządzenia A na urządzenie B:
Na obu urządzeniach MUSI być co najmniej 1 konto AccountManager , a parowanie musi zostać potwierdzone za pomocą kodu jednorazowego.
- podczas parowania urządzeń użytkownik musi potwierdzić hasło do konta na dodatkowym urządzeniu zdalnym,
- Kod jednorazowy musi być wyświetlony na urządzeniu źródłowym i wpisany na urządzeniu połączonym.
- Nie ma wymagań dotyczących zakresu podczas przesyłania strumieniowego.
Możesz też ustawić urządzenie A i urządzenie B w zasięgu Bluetootha i zezwolić na strumieniowe przesyłanie danych za pomocą kodu jednorazowego.
- Kod jednorazowy jest wyświetlany na urządzeniu źródłowym i wpisany na połączonym urządzeniu.
- Podczas strumieniowania urządzenia muszą znajdować się w zasięgu Bluetootha.
- Aplikacja może tworzyć kanały komunikacji z połączonymi urządzeniami i nimi zarządzać, aby umożliwić wymianę danych. Aby ustanowić te kanały komunikacji, aplikacja i połączone urządzenia muszą się nawzajem uwierzytelnić (np. przez udowodnienie znajomości udostępnionych kluczy).
Kanały komunikacji muszą być zabezpieczone szyfrowaniem.
- Aplikacja może wysyłać powiadomienia z lokalnego urządzenia na połączone urządzenie, aby umożliwić użytkownikowi podejmowanie działań na podstawie powiadomień na połączonym urządzeniu.
- przesyłać strumieniowo metadane potrzebne do strumieniowego przesyłania aplikacji na połączone urządzenie, takie jak lista aplikacji dostępnych na urządzeniu lokalnym;
- przesyłać aplikacje z urządzenia lokalnego na połączone urządzenie po wyrażeniu przez użytkownika wyraźnej zgody (na telefonie lub połączonym urządzeniu).
- Zadbaj o możliwość ponownego odtwarzania (wstrzykiwania) zdarzeń z aplikacji przesyłanej strumieniowo na połączonym urządzeniu z powrotem na urządzeniu lokalnym. Na przykład odtworzenie zdarzenia dotknięcia na tablecie w tych samych współrzędnych na telefonie.
- Aplikacja może zastąpić strumień mikrofonu urządzenia lokalnego strumieniem z mikrofonu podłączonego urządzenia, gdy aplikacja przesyłana strumieniowo korzysta z mikrofonu.
- Aplikacja rejestruje dźwięk z urządzenia i przesyła go do połączonego urządzenia.
- Musi blokować transmisję z kamery na urządzeniu lokalnym, gdy korzysta z niej aplikacja przesyłana strumieniowo.
- Musi zweryfikować integralność kompilacji systemu operacyjnego połączonego urządzenia (np. za pomocą atestu urządzenia jak w zasadzie
VerifiedBootState ).
- Na obu urządzeniach możesz strumieniowo przesyłać aplikacje, jeśli w rejestrze kont na urządzeniu jest tylko jedno pasujące konto (np. klasa
AccountManager na urządzeniu z Androidem).
W przeciwnym razie strumieniowanie musi zostać autoryzowane za pomocą kodu jednorazowego wyświetlanego na urządzeniu źródłowym i wprowadzanego na urządzeniu połączonym. 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 dla wielu użytkowników, użytkownik jest liczony jako urządzenie.
- Jeśli uwierzytelnianie konta na połączonym urządzeniu wygaśnie lub zostanie odwołane, musisz natychmiast zatrzymać przesyłanie strumieniowe i rozłączyć się z połączonym urządzeniem.
- W przypadku trwających sesji strumieniowego przesyłania aplikacji musisz rozłączać je, gdy użytkownik przez 5 minut nie wchodzi w interakcję z połączonym urządzeniem (np. klawiatura, ekran dotykowy i mysz są nieaktywne). Nie dotyczy to aplikacji do strumieniowego przesyłania filmów.
- Od Androida 15
Po upływie limitu czasu bezczynności urządzenia zdalnego, na którym wyświetlane treści są widoczne, należy odłączyć wszystkie urządzenia wirtualne. Może pozostawić włączony ekran urządzenia zdalnego w przypadku takich funkcji jak WakeLock, które utrzymują włączony ekran urządzenia z Androidem. Musi być podany czas bezczynności. Jeśli urządzenie zdalne 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 korzysta z czynnika wiedzy na ekranie blokady (LSKF), gdy ekran jest zablokowany, aplikacja nie może przesyłać strumieniowo aplikacji na połączone urządzenie, chyba że to urządzenie ma ekran blokady i jest odblokowane.
- Jeśli urządzeniem zarządza administrator, aplikacja musi przestrzegać określonych przez niego zasad dotyczących włączania i wyłączania strumieniowego przesyłania aplikacji na urządzenia w pobliżu (np. ustawień
DevicePolicyManager w Androidzie).
- Musisz się upewnić, że wyświetlacz zdalny i wszystkie źródła zdarzeń danych wejściowych zdalnych należą z perspektywy użytkownika do tego samego urządzenia logicznego (np. wyświetlacz zdalny i podłączona klawiatura) i że zdarzenia są odpowiednio kierowane.
- Użytkownik musi mieć możliwość zakończenia strumieniowego przesyłania z urządzenia lokalnego, na przykład za pomocą przycisku w powiadomieniu. Ta funkcja jest dostępna na ekranie blokady, jeśli na telefonie jest ustawiona blokada ekranu.
Od Androida 15 należy wyświetlać tę stałą opcję na urządzeniu lokalnym, która jest zawsze widoczna i znajduje się nad obszarem składanego ekranu.
- Gdy strumieniowanie odbywa się na innym urządzeniu, na urządzeniu źródłowym musi być wyświetlony element interfejsu, np. ikona na pasku stanu lub 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ść obsługi profilu zarządzanego (właściciel profilu) lub urządzenia zarządzanego (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ć zasobów, takich jak ciągi tekstowe czy zasoby 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 właściciela profilu, gdy aplikacja właściciela 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 uzyskiwać 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 powiązanie należy skonfigurować bezpośrednio w konfiguracji
<allow-association> w konfiguracji systemowej.
- 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 przenieść 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 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. Dotyczy to na przykład bezpośrednich połączeń przewodowych lub bezprzewodowych.
|
AUTOMOTIVE_NAVIGATION |
Wszystkie:
- Aplikacja zawiera działanie, które aplikacje mogą wywoływać w ramach żądań niejawnych, które pokazują bieżącą lokalizację i otoczenie użytkownika.
- Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań niejawnych intencji, co pozwala użytkownikowi nawigować 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ć 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:
- 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 z tych usług:
|
COMPANION_DEVICE_GLASSES |
Aplikacja może wysyłać żądania powiązania z urządzeniem 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 połączeniami telefonicznymi.
|
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING |
Wszystkie:
- Aplikacja jest aplikacją systemową.
- Tę rolę aplikacji mogą przyznać tylko producenci OEM.
- Począwszy od Androida 15
Podczas nawiązywania początkowego połączenia z urządzenia A na urządzenie B:
Na obu urządzeniach MUSI być co najmniej 1 konto AccountManager , a parowanie musi zostać potwierdzone za pomocą kodu jednorazowego.
- podczas parowania urządzeń użytkownik musi potwierdzić hasło do konta na dodatkowym urządzeniu zdalnym,
- Kod jednorazowy musi być wyświetlony na urządzeniu źródłowym i wpisany na urządzeniu połączonym.
- Nie ma wymagań dotyczących zakresu podczas przesyłania strumieniowego.
Możesz też ustawić urządzenie A i urządzenie B w zasięgu Bluetootha i zezwolić na strumieniowe przesyłanie danych za pomocą kodu jednorazowego.
- Kod jednorazowy jest wyświetlany na urządzeniu źródłowym i wpisany na połączonym urządzeniu.
- Podczas strumieniowania urządzenia muszą znajdować się w zasięgu Bluetootha.
- 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ę nawzajem uwierzytelnić (np. poprzez udowodnienie znajomości udostępnionych kluczy).
Kanały komunikacji muszą być chronione za pomocą pełnego szyfrowania.
- Aplikacja może wysyłać powiadomienia z lokalnego urządzenia na połączone urządzenie, aby umożliwić użytkownikowi podejmowanie działań na podstawie powiadomień na połączonym urządzeniu.
- przesyłać strumieniowo metadane potrzebne do strumieniowego przesyłania aplikacji na połączone urządzenie, takie jak lista aplikacji dostępnych na urządzeniu lokalnym;
- przesyłać aplikacje z urządzenia lokalnego na połączone urządzenie po wyrażeniu przez użytkownika wyraźnej zgody (na telefonie lub połączonym urządzeniu).
- Zadbaj o możliwość ponownego odtwarzania (wstrzykiwania) zdarzeń z aplikacji przesyłanej strumieniowo na połączonym urządzeniu z powrotem na urządzeniu lokalnym. Na przykład:
odtworzenie zdarzenia dotyku na tablecie w tych samych współrzędnych co na telefonie lub odtworzenie zdarzenia wprowadzania, które miało miejsce na urządzeniu z okularami, z tą samą semantyką wprowadzania co na telefonie.
- Aplikacja może zastąpić strumień mikrofonu na urządzeniu lokalnym strumieniem mikrofonu na połączonym urządzeniu, gdy aplikacja strumieniowa używa mikrofonu.
- Aplikacja przechwytuje dźwięk z urządzenia i przesyła go na połączone urządzenie.
- Musisz zweryfikować integralność wersji systemu operacyjnego na urządzeniu (np. za pomocą uwierzytelniania urządzenia, jak w
VerifiedBootState ).
- Na obu urządzeniach możesz strumieniowo przesyłać aplikacje, jeśli w rejestrze kont na urządzeniu jest tylko jedno pasujące konto (np. klasa
AccountManager na urządzeniu z Androidem).
W przeciwnym razie strumieniowanie musi zostać autoryzowane za pomocą kodu jednorazowego wyświetlanego na urządzeniu źródłowym i wprowadzanego na urządzeniu połączonym. 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 dla wielu użytkowników, użytkownik jest liczony jako urządzenie.
- Jeśli uwierzytelnianie konta na połączonym urządzeniu wygaśnie lub zostanie odwołane, musisz natychmiast zatrzymać przesyłanie strumieniowe i rozłączyć się z połączonym urządzeniem.
- Jeśli urządzenie źródłowe korzysta z LSKF, gdy ekran jest zablokowany, aplikacja nie może przesyłać strumieniowo aplikacji na połączone urządzenie, chyba że to urządzenie ma ekran blokady i jest odblokowane.
- Jeśli urządzeniem zarządza administrator, aplikacja musi przestrzegać zasad określonych przez 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).
- Musi się upewnić, że wyświetlacz zdalny i wszystkie źródła zdarzeń zdalnego wprowadzania należą do tego samego urządzenia logicznego (np. wyświetlacza zdalnego i podłączonej klawiatury) z perspektywy użytkownika, a zdarzenia są odpowiednio kierowane.
- Użytkownik musi mieć możliwość zakończenia strumieniowego przesyłania z urządzenia lokalnego, na przykład za pomocą przycisku w powiadomieniu. Ta funkcja jest dostępna na ekranie blokady, jeśli na telefonie jest ustawiona blokada ekranu.
- Gdy strumieniowanie odbywa się na innym urządzeniu, na urządzeniu źródłowym musi być wyświetlony element interfejsu, np. ikona na pasku stanu lub powiadomienie.
|
WALLET |
Jedna z tych możliwości:
- 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 .
|