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 Android API, w szczególności przez wywoływanie metod w klasie RoleManager.

Na liście poniżej znajdziesz dostępne role i odpowiadające im wymagania.

Rola Wymagania
ASYSTENT Co najmniej 1:
  • W aplikacji jest działanie, które wykonuje działania wspomagające, uwzględniając informacje o kontekście użytkownika, gdy poprosi on o pomoc (np. nazwę pakietu bieżącej aplikacji na pierwszym planie i jej informacje kontekstowe).
  • Aplikacja ma zawsze włączoną usługę interakcji głosowej, dostępną za pomocą uprawnień android.permission.BIND_VOICE_INTERACTION, która może rozpoznawać głos i organizować sesje interakcji głosowych. Dodatkowo aplikacja ma wyraźną flagę wskazującą, że usługa może obsłużyć działanie wspomagające.
PRZEGLĄDARKA Wszystkie z tych usług:
  • Aplikacja ma działanie, które aplikacje mogą wywoływać za pomocą żądań niejawnych. W ten sposób wyświetla się strona internetowa odpowiadająca adresowi powiązanemu z adresem http://.
  • Aplikacja musi obsługiwać nawigację między linkami. Oznacza to, że jeśli użytkownik przegląda stronę internetową i klika w tekście adres http://, aplikacja musi mieć możliwość wyświetlenia zawartości odpowiadającej wybranemu linkowi bez dodatkowej ingerencji użytkownika.
  • Aplikacja musi mieć możliwość udostępniania witrynom internetowym o bieżącej geolokalizacji urządzenia, gdy o to poprosisz, a użytkownik zatwierdzi prośbę.
DIALER Wszystkie z tych usług:
  • Aplikacja ma działanie, które aplikacje mogą wywoływać za pomocą żądań niejawnych. Zawierają one 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 odebranie lub odrzucenie połączenia.
  • Aplikacja pozwala użytkownikowi nawiązywać połączenia i przeglądać ich historię na urządzeniu.
SMS Wszystkie z tych usług:
  • Aplikacja spełnia wszystkie wymagania dotyczące aplikacji do obsługi SMS-ów.
  • Aplikacja ma działanie, które może wywoływać za pomocą żądań niejawnych intencji, które mogą wysłać wiadomość na numer telefonu.
  • Aplikacja ma usługę ograniczoną do uprawnień android.permission.SEND_RESPOND_VIA_MESSAGE i możliwą do wywołania przez intencje niejawne. Umożliwia ona dostarczanie wiadomości otrzymywanych z aplikacji Telefon, gdy użytkownik zgodzi się odpowiedzieć w wiadomości podczas połączenia przychodzącego. Aplikacja może dostarczać wiadomości przez własny system przesyłania wiadomości.
  • Aplikacja ma 2 odbiorniki – jeden z uprawnieniami android.permission.BROADCAST_SMS, a drugi z uprawnieniami android.permission.BROADCAST_WAP_PUSH. Mogą one nasłuchiwać SMS-ów i MMS-ów wysyłanych na urządzenie. Następnie to aplikacja odpowiada za zapisywanie wiadomości do dostawcy SMS-ów i powiadamianie użytkowników.
SYTUACJA ALARMOWA Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • W aplikacji jest aktywność, która przedstawia informacje alarmowe użytkownika. Każdy może przejść na ten ekran, używając przycisku połączenia alarmowego w działaniu dotyczącym połączenia alarmowego.
STRONA GŁÓWNA Aplikacja ma działanie, które może uruchomić ekran główny, gdy użytkownik naciśnie jego przycisk. 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ę sterowaną uprawnieniem android.permission.BIND_CALL_REDIRECTION_SERVICE, z którą może powiązać platforma telekomunikacyjna. Usługa odbiera wychodzący numer telefonu z platformy telekomunikacyjnej i wykonuje jedną z tych czynności:
  • Zezwalaj na nawiązywanie połączeń w niezmienionej formie.
  • Zmień numer wychodzący, tak aby był kierowany przez numer proxy.
  • Anuluj połączenie.
POKAZYWANIE_POŁĄCZEŃ Aplikacja ma usługę, która jest blokowana uprawnieniem android.permission.BIND_SCREENING_SERVICE, która wykonuje 2 funkcje:
  1. Blokowanie/filtrowanie połączeń: usługa może wybrać, które połączenia mają być przekierowywane do aplikacji telefonu na telefonie (i być może dzwonią, z powodu braku nietypowego dźwięku), a które dyskretnie – na pocztę głosową.
  2. Identyfikacja połączenia: usługa może identyfikować i wyświetlać informacje o połączeniu za pomocą interfejsu użytkownika.
GALERIA_SYSTEMU Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja ma interfejs, który pozwala użytkownikom przechowywać, porządkować i wyświetlać filmy oraz obrazy.
SYSTEM_AUTOMOTIVE_KLASTER Wszystkie z tych usług:
  • Jest to aplikacja systemowa w samochodach.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja udostępnia funkcje wyświetlacza klastra samochodowego (zwykle obok kierownicy), który umożliwia odbieranie połączeń telefonicznych oraz uzyskiwanie dostępu 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). Po połączeniu zegarka z aplikacją 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 z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja umożliwia wyświetlanie obrazu z ekranu telefonu w pojeździe. Umożliwia kierowcom dostęp do aplikacji na telefonach z Androidem, w tym do obsługi muzyki, nawigacji, połączeń telefonicznych i wyszukiwarki Google, oraz sterowania nimi za pomocą samochodowych mechanizmów wprowadzania danych, w tym sterowania dotykowego, sterowania na kierownicy i poleceń głosowych.
POWÓD_SYSTEMOWY Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową, która ma przypisany identyfikator UID Process.SHELL_UID.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja ma interfejs, który działa na poziomie wiersza poleceń, dzięki czemu użytkownicy mogą wchodzić w interakcje z systemem operacyjnym Android. Może to być 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_kontaktów Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja udostępnia interfejs użytkownika, który umożliwia użytkownikom zarządzanie kontaktami (np. wyświetlanie, udostępnianie, dodawanie, usuwanie i wyszukiwanie kontaktów). 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 z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja zapewnia usługę rozpoznawania mowy.
  • Gdy aplikacja odbiera obraz z mikrofonu na potrzeby rozpoznawania mowy przez inną aplikację, prawidłowo przypisuje użycie mikrofonu aplikacji wywołującej i odpowiednio aktualizuje statystyki jej działania.
SYSTEM_WIFI_COEX_MANAGER Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja ma usługę, która dynamicznie ustawia listę kanałów Wi-Fi, których urządzenie nie powinno używać ze względu na zakłócenia sieci komórkowej.
SYSTEM_WELLBEING Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja powinna zapewniać użytkownikom funkcje pozwalające ograniczyć rozpraszanie uwagi oraz przedstawiać statystyki dotyczące sposobu korzystania z urządzenia (np. czas korzystania z urządzenia w tygodniu).
SYSTEM_TELEVISION_Powiadomienia_HANDLER Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja musi wyświetlać użytkownikom na telewizorach powiadomienia z ostrzeżeniem. Aplikacja musi też pokazywać aktualne aktywne powiadomienia, gdy intencja android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL jest wysyłana (z SystemUI).
DOSTAWCA_URZĄDZEŃ_SYSTEMOWYCH Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja musi mieć możliwość wykrywania urządzeń peryferyjnych 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 to potwierdzi, aplikacja zarządzająca przyzna powiązanym aplikacji uprawnienia dostępu do urządzenia peryferyjnego (na przykład jego nazwę, adres, klasę i stan powiązania) i będzie mogła rozpocząć proces tworzenia powiązania.
SYSTEM_DOCUMENT_MANAGER Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • W aplikacji działa aktywność, która umożliwia użytkownikom dostęp do istniejących dokumentów i tworzenie nowych na urządzeniu.
  • Aplikacja musi spełniać wszystkie wymagania opisane w sekcji CDD dotyczącej Androida w sekcji 2.2.3 Software w sekcji [3.2.3.1/H-0-1].
SYSTEM_ACTIVITY_RECOGNIZER Wszystkie z tych usług:
Interfejs_SYSTEMOWY Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja ma interfejs umożliwiający użytkownikom interakcję z telefonami. Dotyczy to na przykład ekranu głównego telefonu, nawigacji, ostatnich aplikacji, szybkich ustawień, paska powiadomień, ekranu blokady czy regulacji głośności.
SYSTEM_TELEVISION_REMOTE_SERVICE Wszystkie z tych usług:
  • Jest to aplikacja systemowa na Androida TV.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja ma usługę, która może komunikować się z urządzeniem HID pilota HID telewizora (na przykład przez BLE), wstrzykiwać zdarzenia (np. kliknięcia przycisku) i wysyłać do platformy inne dane (np. strumień audio z mikrofonu wbudowanego w pilota).
SYSTEM_UI_INTELLIGENCE Wszystkie z tych usług:
  • być fabrycznie zainstalowaną usługą, która za pomocą interfejsów API platformy (publicznych lub systemowych interfejsów API) zapewnia na urządzeniu inteligentny procesor na potrzeby funkcji interfejsu systemowego (na przykład do przewidywania i wyświetlania następnych aplikacji użytkownikom).
  • Usługa musi spełniać wszystkie wymagania opisane w sekcji 9.8.6 Przechwytywanie treści w narzędziu CDD dla Androida.
  • Nie może mieć uprawnienia android.permission.INTERNET. Zamiast tego musi łączyć się z internetem za pomocą dobrze zdefiniowanych interfejsów API w projekcie open source.
  • Nie można go powiązać z aplikacjami, z wyjątkiem tych aplikacji systemowych: Bluetooth, Kontakty, Media, Telefonia, SystemUI oraz komponentów udostępniających internetowe interfejsy API. Każde dozwolone powiązanie należy skonfigurować bezpośrednio w konfiguracji <allow-association> w konfiguracji systemowej.
  • Nie może udostępniać danych aplikacjom, dopóki nie nastąpi bezpośrednie działanie użytkownika (np. użytkownik naciśnie przycisk przy każdym udostępnieniu danych).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Wszystkie z tych usług:
  • Identyczne z warunkami dla funkcji SYSTEM_UI_INTELLIGENCE z tą różnicą, że fabrycznie zainstalowana usługa udostępnia inteligentny procesor dźwięku otoczenia (np. rozpoznawanie utworów odtwarzanych w pobliżu urządzenia).
SYSTEM_AUDIO_INTELLIGENCE Wszystkie z tych usług:
  • Te same warunki co w przypadku funkcji SYSTEM_UI_INTELLIGENCE, z tą różnicą, że wstępnie zainstalowana usługa zapewnia inteligentny procesor dźwięku działający na urządzeniu (na przykład wyświetlanie napisów do filmów, tworzenie podcastów, rozmowy telefoniczne, rozmowy wideo i wiadomości głosowe).
SYSTEM_Powiadomienia_INTELLIGENCE Wszystkie z tych usług:
  • Te same warunki co w przypadku funkcji SYSTEM_UI_INTELLIGENCE z tą różnicą, że wstępnie zainstalowana usługa udostępnia inteligentny procesor działający na urządzeniu na potrzeby powiadomień (na przykład sugerowanie odpowiedzi i działań w przypadku powiadomień o wiadomościach).
SYSTEM_TEXT_INTELLIGENCE Wszystkie z tych usług:
  • Identyczne z warunkami dla funkcji 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 z tych usług:
  • Te same warunki co w przypadku funkcji SYSTEM_UI_INTELLIGENCE z tą różnicą, że wstępnie zainstalowana usługa zapewnia inteligentny procesor działający na urządzeniu na potrzeby funkcji wizualnych, które wymagają analizy danych z kamery. Dotyczy to na przykład pozostawania włączonego ekranu telefonu, gdy użytkownik na niego patrzy, lub określania idealnej orientacji ekranu na podstawie orientacji twarzy przy użyciu przedniego aparatu urządzenia.
COMPANION_DEVICE_APP_STREAMING Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja może tworzyć kanały komunikacji z połączonymi urządzeniami i zarządzać nimi, aby umożliwić wymianę danych. Aby możliwe było ustanowienie tych kanałów komunikacji, aplikacja i połączone urządzenia muszą się uwierzytelniać (np. przez udowodnienie swojej wiedzy o udostępnionych kluczach). Kanały komunikacji muszą być zabezpieczone szyfrowaniem.
  • Aplikacja może wysyłać powiadomienia z urządzenia lokalnego na połączone urządzenie, aby umożliwić użytkownikowi wykonanie działań związanych z powiadomieniami na połączonym urządzeniu.
  • Mieć możliwość strumieniowego przesyłania metadanych niezbędnych do strumieniowego przesyłania aplikacji na połączone urządzenie, np. listy aplikacji dostępnych na urządzeniu lokalnym.
  • Mieć możliwość strumieniowego przesyłania aplikacji z urządzenia lokalnego na połączone urządzenie po tym, jak użytkownik wyrazi na to zgodę (z telefonu lub na 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. Dotyczy to na przykład ponownego odtworzenia zdarzenia dotknięcia na tablecie z tymi samymi współrzędnych co 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 przechwytuje dźwięk z urządzenia i przesyła go na połączone urządzenie.
  • Musi blokować transmisję z kamery urządzenia lokalnego, gdy aplikacja przesyłana strumieniowo z niej korzysta.
  • 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 tylko wtedy, gdy w rejestrze kont na urządzeniu jest tylko jedno pasujące konto (np. AccountManager na urządzeniu z Androidem). Jeśli tak nie jest, strumieniowanie musi być autoryzowane za pomocą kodu jednorazowego wyświetlanego na urządzeniu źródłowym i wpisanego na połączonym urządzeniu. Pamiętaj, że w przypadku urządzeń, które obsługują wielu użytkowników (a nie wiele kont) z taką samą niezawodną izolacją danych, jak w przypadku wielu użytkowników Androida, użytkownik jest liczony jako urządzenie.
  • Jeśli uwierzytelnienie konta na połączonym urządzeniu wygaśnie lub zostanie unieważnione, musi zostać natychmiast zatrzymany i odłączony od połączonego urządzenia.
  • Przed strumieniowaniem i w trakcie strumieniowego przesyłania danych musi sprawdzić, czy połączone urządzenie znajduje się w zasięgu Bluetootha urządzenia lokalnego.
  • Jeśli użytkownik nie wchodzi w interakcję z połączonym urządzeniem (na przykład klawiatura, ekran dotykowy czy mysz są nieaktywne), musi zostać przerwana przez 5 minut. Aplikacje do strumieniowego odtwarzania filmów nie są objęte tym wymaganiem.
  • Jeśli urządzenie źródłowe używa współ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 urządzenie ma ekran blokady i nie 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. przy użyciu ustawień DevicePolicyManager w 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 danych z urządzenia lokalnego, na przykład za pomocą przycisku w trwałym powiadomieniu. Jeśli telefon ma ustawioną blokadę ekranu, to działanie jest ograniczone przez ekran blokady.
  • Musi pokazywać afordancję na urządzeniu źródłowym, gdy strumieniowanie odbywa się na innym urządzeniu. Może to być ikona na pasku stanu lub trwałe powiadomienie.
DEVICE_POLICY_MANAGEMENT (Zarządzanie zasadami dotyczącymi urządzeń) Wszystkie z tych usług:
  • Tę rolę mogą przypisać tylko producentom OEM. Aplikacje nie mogą prosić o tę rolę, ponieważ jest ona przydzielana od razu do nazwy pakietu zdefiniowanej przez producenta OEM przy dostarczeniu urządzenia.
  • Aplikacja musi mieć możliwość obsługi administracyjnej profilu zarządzanego (właściciela profilu) lub urządzenia zarządzanego (właściciela urządzenia). W razie potrzeby aplikacja musi też pobrać/zainstalować odpowiedniego klienta Device Policy, aby stał się on właścicielem urządzenia/profilu.
  • Aplikacja może opcjonalnie dynamicznie aktualizować zasoby, takie jak ciągi tekstowe czy obiekty rysunkowe używane do zarządzania zasadami dotyczącymi urządzeń.
  • Aplikacja może być wstępnie zainstalowana lub może zostać pobrana i zainstalowana przed udostępnieniem.
  • W przypadku obsługi administracyjnej właściciela profilu, gdy aplikacja z przypisaną rolą jest zainstalowana u danego użytkownika Androida, musi ona być zainstalowana we wszystkich odpowiednich profilach tego użytkownika.
SYSTEM_APP_PROTECTION_SERVICE Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Jedynym celem aplikacji jest wykrywanie potencjalnie szkodliwych aplikacji (takich jak konie trojańskie, phishing i aplikacje szpiegowskie) oraz niechciane oprogramowanie mobilne, które mogą narazić użytkowników, dane użytkownika lub urządzenia na ryzyko.
  • Aplikacja musi spełniać wszystkie wymagania opisane w sekcji 9.8.6 CDD dotyczącej Androida. dane na poziomie systemu operacyjnego i danych otoczenia.
  • Nie może deklarować normalnego uprawnienia android.permission.INTERNET. Zamiast tego musi łączyć się z internetem za pomocą dobrze zdefiniowanych interfejsów API w projekcie open source.
  • Nie może wiązać się z aplikacjami z wyjątkiem tych aplikacji systemowych: kontroler uprawnień oraz komponentów udostępniających interfejsy API usług telefonicznych i internetowych. Każde dozwolone powiązanie należy skonfigurować bezpośrednio w konfiguracji <allow-association> w konfiguracji systemowej.
  • Nie może udostępniać danych aplikacjom, chyba że użytkownik wyraźnie naciśnie przycisk przy każdym udostępnieniu danych.
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Musisz 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 u dostawcy kalendarza.
  • Aplikacja musi zawierać komponent interfejsu telefonu, za pomocą którego użytkownik może włączyć synchronizację kalendarza i wybrać kalendarze do zsynchronizowania. Aplikacja musi udostępniać na telefonie komponent interfejsu, za pomocą którego użytkownik może wyłączyć synchronizację kalendarza.
  • Nie powinno działać bez połączenia z internetem. Dotyczy to na przykład bezpośrednich połączeń przewodowych lub bezprzewodowych.
AUTOMOTIVE_NAVIGATION Wszystkie z tych usług:
  • Aplikacja ma działanie, które aplikacje mogą wywoływać w ramach żądań niejawnych, które pokazują bieżącą lokalizację i otoczenie użytkownika.
  • Aplikacja ma działanie, które aplikacje mogą wywoływać za pomocą żądań niejawnych. Pozwala to użytkownikowi przejść do określonej lokalizacji geograficznej.
  • Zawiera działanie, które jest uruchamiane w klastrze przyrządów, gdy aplikacja zawiera fokus nawigacji. Aktywność musi pokazywać bieżącą lokalizację użytkownika i otoczenie oraz umożliwiać mu wskazówki dojazdu do określonej lokalizacji geograficznej.
COMPANION_DEVICE_COMPUTER Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Zezwalaj użytkownikom na wyświetlanie powiadomień oraz dostęp do zdjęć i multimediów na telefonie podłączonym do komputera.
SYSTEM_SETTINGS_INTELLIGENCE Co najmniej 1:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Zawiera usługę udostępniającą funkcje inteligentne w aplikacji Ustawienia, takie jak sugestie i wyszukiwanie.
UWAGI 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). Po połączeniu urządzenia z okularami z aplikacją za pomocą interfejsu CDM użytkownicy mogą zarządzać swoim urządzeniem, przyznając mu dostęp do kontaktów oraz uprawnienia do zarządzania powiadomieniami i połączeniami telefonicznymi.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING Wszystkie z tych usług:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę mogą przypisać tylko producentom OEM.
  • Aplikacja może tworzyć kanały komunikacji z połączonymi urządzeniami i nimi zarządzać, aby mogły one wymieniać dane. Aby można było ustanowić te kanały komunikacji, aplikacja i połączone urządzenia muszą się uwierzytelniać (np. przez udowodnienie swojej wiedzy o udostępnionych kluczach). Kanały komunikacji muszą być zabezpieczone szyfrowaniem.
  • Aplikacja może wysyłać powiadomienia z urządzenia lokalnego na połączone urządzenie, aby umożliwić użytkownikowi wykonanie działań związanych z powiadomieniami na połączonym urządzeniu.
  • Mieć możliwość strumieniowego przesyłania metadanych niezbędnych do strumieniowego przesyłania aplikacji na połączone urządzenie, np. listy aplikacji dostępnych na urządzeniu lokalnym.
  • Mieć możliwość strumieniowego przesyłania aplikacji z urządzenia lokalnego na połączone urządzenie po tym, jak użytkownik wyrazi na to zgodę (z telefonu lub na 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. Dotyczy to na przykład ponownego odtworzenia zdarzenia dotknięcia na tablecie o tych samych współrzędnych co w telefonie albo odtworzenia zdarzenia wejściowego, które wystąpiło na urządzeniu okularowym, z taką samą semantyką jak w przypadku telefonu.
  • 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 przechwytuje dźwięk z urządzenia i przesyła go na połączone urządzenie.
  • Musi zweryfikować integralność kompilacji systemu operacyjnego połączonego urządzenia (np. za pomocą atestu urządzenia jak w zasadzie VerifiedBootState).
  • Odtwarzaj strumieniowo aplikacje tylko wtedy, gdy w rejestrze kont na urządzeniu jest tylko jedno pasujące konto (np. AccountManager na urządzeniu z Androidem) na obu urządzeniach. Jeśli tak nie jest, strumieniowanie musi być autoryzowane za pomocą jednorazowego kodu wyświetlanego na urządzeniu źródłowym i wpisanego na połączonym urządzeniu. Pamiętaj, że w przypadku urządzeń, które obsługują wielu użytkowników (a nie wiele kont) z taką samą gwarantowaną izolacją danych, jak w przypadku wielu użytkowników Androida, użytkownik jest liczony jako urządzenie.
  • Jeśli uwierzytelnienie konta na połączonym urządzeniu wygaśnie lub zostanie unieważnione, musi zostać natychmiast zatrzymany i odłączony od połączonego urządzenia.
  • Jeśli urządzenie źródłowe używa współ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 urządzenie ma ekran blokady i nie 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 danych do urządzeń w pobliżu (np. przy użyciu ustawień DevicePolicyManager w 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 danych z urządzenia lokalnego, na przykład za pomocą przycisku w trwałym powiadomieniu. Jeśli telefon ma ustawioną blokadę ekranu, to działanie jest ograniczone przez ekran blokady.
  • Musi pokazywać afordancję na urządzeniu źródłowym, gdy strumieniowanie odbywa się na innym urządzeniu. Może to być ikona na pasku stanu lub trwałe powiadomienie.