Role na Androidzie

Rola to unikalna nazwa w systemie powiązana z określonymi uprawnieniami i uprawnieniami. Aplikacje mogą prosić o przyznanie określonych ról za pomocą interfejsu API Androida, w szczególności przez wywoływanie metod w klasie RoleManager.

Dostępne role i odpowiednie wymagania:

Rola Wymagania
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ń DevicePolicyManagerna 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.