Role Androida

Rola to unikalna nazwa w systemie powiązana z określonymi uprawnieniami i przywilejami. Aplikacje mogą żądać utrzymania określonych ról za pośrednictwem interfejsu API systemu Android, w szczególności poprzez wywoływanie metod w klasie RoleManager .

Zobacz poniższą listę dostępnych ról i odpowiadających im wymagań.

Rola Wymagania
ASYSTENT Przynajmniej jeden z:
  • Aplikacja zawiera działanie, które wykonuje akcje wspomagające, biorąc pod uwagę informacje o kontekście użytkownika, gdy zażądał on pomocy (na przykład nazwa pakietu bieżącej aplikacji na pierwszym planie i jej informacje kontekstowe).
  • Aplikacja posiada zawsze włączoną usługę interakcji głosowej, obsługiwaną przez uprawnienie android.permission.BIND_VOICE_INTERACTION , która umożliwia rozpoznawanie głosu i prowadzenie aktywnych sesji interakcji głosowych. Ponadto aplikacja ma wyraźną flagę wskazującą, że usługa jest w stanie obsłużyć akcję pomocy.
PRZEGLĄDARKA Wszystkie z:
  • Aplikacja ma działanie, które aplikacje mogą wywoływać poprzez ukryte żądania zamiaru, które wyświetla stronę internetową odpowiadającą adresowi http:// .
  • Aplikacja musi obsługiwać nawigację pomiędzy linkami. Oznacza to, że jeśli użytkownik przegląda stronę internetową i kliknie adres http:// w tekście, aplikacja musi mieć możliwość wyświetlenia treści odpowiadającej wybranemu linkowi bez dodatkowej interwencji użytkownika.
  • Aplikacja musi być w stanie udostępnić stronom internetowym aktualne informacje o geolokalizacji urządzenia, gdy zostanie o to poproszony, a użytkownik zatwierdzi żądanie.
DIALER Wszystkie z:
  • Aplikacja ma działanie, które aplikacje mogą wywoływać poprzez ukryte żądania zamiaru, które zapewnia interfejs użytkownika w trakcie połączenia, gdy urządzenie prowadzi połączenie.
  • Aplikacja może obsługiwać intencje połączeń przychodzących, wyświetlać użytkownikowi informacje związane z połączeniem (na przykład numer telefonu osoby dzwoniącej) oraz umożliwiać użytkownikowi odebranie lub odrzucenie połączenia.
  • Aplikacja umożliwia użytkownikowi inicjowanie połączeń i przeglądanie historii połączeń na swoim urządzeniu.
SMS-em Wszystkie z:
  • Aplikacja spełnia wszystkie wymagania stawiane aplikacjom SMS .
  • Aplikacja ma działanie, które aplikacje mogą wywoływać poprzez ukryte żądania dotyczące zamiaru, które mogą wysyłać wiadomość na numer telefonu.
  • Aplikacja udostępnia usługę, obsługiwaną przez uprawnienie android.permission.SEND_RESPOND_VIA_MESSAGE i wywoływaną przez ukryte intencje, która może dostarczać wiadomości otrzymane z aplikacji Telefon, jeśli użytkownik zdecyduje się odpowiedzieć przez wiadomość podczas połączenia przychodzącego. Aplikacja może dostarczać wiadomości za pośrednictwem własnego systemu przesyłania wiadomości.
  • Aplikacja ma dwa odbiorniki transmisji, jeden bramkowany przez uprawnienie android.permission.BROADCAST_SMS i drugi bramkowany przez uprawnienie android.permission.BROADCAST_WAP_PUSH , które mogą nasłuchiwać odpowiednio wiadomości tekstowych SMS i MMS wysyłanych na urządzenie. Aplikacja jest następnie odpowiedzialna za pisanie wiadomości do dostawcy SMS i powiadamianie użytkowników.
NAGŁY WYPADEK Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Aplikacja posiada aktywność prezentującą informacje alarmowe użytkownika. Każdy może przejść do tego ekranu za pomocą przycisku Alarm w działaniu Telefon alarmowy.
DOM Aplikacja ma funkcję, która może uruchomić ekran główny, gdy użytkownik naciśnie przycisk strony głównej. Ekran główny powinien wyświetlać ikony aplikacji, widżety i obsługiwać nawigację w oparciu o przyciski lub gesty (na przykład przesuwanie w górę, aby zobaczyć wszystkie aplikacje).
ZADZWOŃ_REDIRECTION Aplikacja zawiera usługę, która jest ograniczona uprawnieniem android.permission.BIND_CALL_REDIRECTION_SERVICE , z którym może się powiązać platforma telekomunikacyjna. Usługa odbiera numer telefonu wychodzącego ze środowiska Telecom i wykonuje jedną z następujących akcji:
  • Zezwól na nawiązanie połączenia bez zmian.
  • Zmień numer wychodzący, aby był kierowany przez numer proxy.
  • Anuluj połączenie.
WYWOŁANIE PRZESIEWOWE Aplikacja posiada usługę, która jest ograniczona uprawnieniem android.permission.BIND_SCREENING_SERVICE , która wykonuje dwie funkcje:
  1. Blokowanie/monitorowanie połączeń: Usługa może wybrać, które połączenia mają być kierowane do aplikacji dialera na telefonie (i ewentualnie dzwonić, biorąc pod uwagę DND/głośność), a które powinny być cicho kierowane na pocztę głosową.
  2. Identyfikacja połączenia: usługa może identyfikować i wyświetlać informacje o połączeniu za pośrednictwem interfejsu użytkownika.
SYSTEM_GALERIA Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja zapewnia użytkownikom interfejs użytkownika umożliwiający przechowywanie, organizowanie i wyświetlanie filmów i zdjęć.
SYSTEM_AUTOMOTIVE_CLUSTER Wszystkie z:
  • Aplikacja jest aplikacją systemową na platformie Automotive.
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja zapewnia funkcjonalność wyświetlacza zestawu samochodowego (zazwyczaj umieszczonego obok kierownicy), dzięki czemu użytkownicy mogą 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 (przy użyciu interfejsu API udostępnianego przez klasę CompanionDeviceManager ). Po połączeniu zegarka z aplikacją za pośrednictwem interfejsu aplikacji użytkownicy mogą zarządzać zegarkiem za pomocą aplikacji, w tym synchronizować kontakty i kalendarz oraz zarządzać powiadomieniami i połączeniami telefonicznymi.
SYSTEM_AUTOMOTIVE_PROJECTION Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja umożliwia wyświetlanie ekranu telefonu na wyświetlaczu w pojeździe. Umożliwia kierowcom dostęp do aplikacji na telefonach z systemem Android i sterowanie nimi, w tym muzyką, nawigacją, połączeniami telefonicznymi i wyszukiwarką Google, za pomocą mechanizmów wprowadzania danych w pojeździe, w tym dotyku, elementów sterujących na kierownicy i poleceń głosowych.
SYSTEM_SHELL Wszystkie z:
  • Aplikacja jest aplikacją systemową , do której przypisano identyfikator UID Process.SHELL_UID .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja zapewnia 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świetlenie zawartości folderu lub uruchomienie aplikacji. Polecenia powłoki mogą być wykonywane programowo przez aplikacje (po przyznaniu niezbędnych uprawnień) lub z narzędzia ADB.
SYSTEM_KONTAKT Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja udostępnia użytkownikom interfejs umożliwiający zarządzanie kontaktami (na przykład przeglądanie, udostępnianie, dodawanie, usuwanie lub wyszukiwanie kontaktu). Aplikacja aktualizuje dostawcę kontaktów, gdy użytkownik aktualizuje swoje kontakty z aplikacji. Użytkownicy mogą także dzwonić, wysyłać e-maile i SMS-y do swoich kontaktów z poziomu aplikacji.
SYSTEM_SPEECH_RECOGNIZER Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja udostępnia usługę rozpoznawania mowy.
  • Gdy aplikacja odbiera strumienie z mikrofonu na żywo z innej aplikacji w celu 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 z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja posiada usługę dynamicznie ustawiającą listę kanałów Wi-Fi, których urządzenie powinno unikać ze względu na zakłócenia komórkowe.
SYSTEM_WELLBEING Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja powinna zapewniać użytkownikom funkcje ograniczające rozpraszanie uwagi i udostępniać statystyki dotyczące sposobu, w jaki korzystają z urządzenia (na przykład tygodniowy czas korzystania z urządzenia).
SYSTEM_TELEVISION_NOTIFICATION_HANDLER Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja musi wyświetlać powiadomienia ostrzegawcze użytkownikom urządzeń telewizyjnych. Aplikacja musi także wyświetlać aktualne aktywne powiadomienia, gdy zostanie wysłana intencja android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (z SystemUI).
SYSTEM_COMPANION_DEVICE_PROVIDER Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja musi być w stanie wykryć urządzenia peryferyjne w swoim pobliżu. Musi posiadać interfejs użytkownika, w którym użytkownik może potwierdzić, że dane urządzenie peryferyjne powinno być powiązane z aplikacją i przez nią zarządzane. Po potwierdzeniu przez użytkownika aplikacja zarządzająca przyznaje powiązanej aplikacji uprawnienia dostępu do urządzenia peryferyjnego (na przykład jego nazwę, adres, klasę i stan powiązania) i może rozpocząć proces łączenia.
SYSTEM_DOCUMENT_MANAGER Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja posiada funkcję umożliwiającą użytkownikom dostęp do istniejących dokumentów oraz tworzenie nowych dokumentów na urządzeniu.
  • Aplikacja musi spełniać wszystkie wymagania określone w sekcji Android CDD 2.2.3. Oprogramowanie pod nagłówkiem [3.2.3.1/H-0-1] .
SYSTEM_ACTIVITY_RECOGNIZER Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Aplikacja zawiera usługę obsługiwaną przez android.permission.ACTIVITY_RECOGNITION , która może rozpoznawać aktywność (na przykład bieganie lub jazdę na rowerze).
SYSTEM_UI Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja posiada interfejs umożliwiający użytkownikom interakcję ze swoimi telefonami. Np. ekran główny telefonu, nawigacja, ostatnie aplikacje, szybkie ustawienia, pasek powiadomień, ekran blokady, regulacja głośności.
SYSTEM_TELEVISION_REMOTE_SERVICE Wszystkie z:
  • Aplikacja jest aplikacją systemową na Android TV.
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja udostępnia usługę, która może komunikować się z urządzeniem HID do zdalnego sterowania telewizorem (na przykład za pośrednictwem BLE), wstrzykiwać zdarzenia (na przykład kliknięcia przycisków) i wysyłać inne dane (na przykład strumień audio z mikrofonu wbudowanego w pilota). ) na platformę.
SYSTEM_UI_INTELIGENCJA Wszystkie z:
  • Będąc preinstalowaną usługą, która zapewnia, za pośrednictwem frameworkowych API (publicznych lub systemowych API), inteligentny procesor na urządzeniu dla funkcji systemowego interfejsu użytkownika (na przykład przewidywania i pokazywania użytkownikom kolejnych aplikacji).
  • Usługa musi spełniać wszystkie wymagania określone w sekcji Android CDD 9.8.6 Przechwytywanie treści .
  • Nie może mieć uprawnienia android.permission.INTERNET . Zamiast tego musi uzyskać dostęp do Internetu za pośrednictwem dobrze zdefiniowanych interfejsów API w projekcie open source.
  • Nie może wiązać się z aplikacjami, z wyjątkiem następujących aplikacji systemowych: Bluetooth, Kontakty, Media, Telefonia, SystemUI i komponenty udostępniające internetowe interfejsy API. Każde dozwolone powiązanie musi być skonfigurowane jawnie poprzez konfigurację <allow-association> w konfiguracji systemu.
  • Nie może udostępniać danych aplikacjom, chyba że nastąpi bezpośrednie działanie użytkownika (na przykład użytkownik wyraźnie naciśnie przycisk za każdym razem, gdy dane zostaną udostępnione).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Wszystkie z:
  • Identyczne z warunkami dla SYSTEM_UI_INTELLIGENCE , z tą różnicą, że preinstalowana usługa zapewnia na urządzeniu inteligentny procesor dla dźwięku otoczenia (na przykład rozpoznaje utwory odtwarzane w pobliżu urządzenia).
SYSTEM_AUDIO_INTELLIGENCE Wszystkie z:
  • Identyczne z warunkami SYSTEM_UI_INTELLIGENCE , z tą różnicą, że wstępnie zainstalowana usługa zapewnia inteligentny procesor na urządzeniu dla dźwięku (na przykład napisy do filmów, podcasty, rozmowy telefoniczne, rozmowy wideo i wiadomości audio).
SYSTEM_NOTIFICATION_INTELLIGENCE Wszystkie z:
  • Identyczne z warunkami dla SYSTEM_UI_INTELLIGENCE , z tą różnicą, że preinstalowana usługa zapewnia na urządzeniu inteligentny procesor do obsługi powiadomień (na przykład sugerujący odpowiedzi i działania w przypadku powiadomień o wiadomościach).
SYSTEM_TEXT_INTELIGENCJA Wszystkie z:
  • Identyczne z warunkami dla SYSTEM_UI_INTELLIGENCE , z tą różnicą, że wstępnie zainstalowana usługa zapewnia inteligentny procesor tekstu na urządzeniu (na przykład zapewniając tłumaczenie na żywo lub autouzupełnianie).
SYSTEM_VISUAL_INTELIGENCJA Wszystkie z:
  • Identyczne z warunkami dla SYSTEM_UI_INTELLIGENCE , z tą różnicą, że preinstalowana usługa zapewnia na urządzeniu inteligentny procesor do obsługi funkcji wizualnych, który obejmuje analizę danych z kamery. Na przykład utrzymanie ekranu telefonu przy życiu, gdy użytkownik na niego patrzy, lub określenie idealnej orientacji ekranu na podstawie orientacji twarzy użytkownika widzianej przez przedni aparat urządzenia.
COMPANION_DEVICE_APP_STREAMING Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja może tworzyć i zarządzać kanałami komunikacji z podłączonymi urządzeniami, aby mogły wymieniać dane. Aby nawiązać te kanały komunikacji, aplikacja i podłączone urządzenia muszą pomyślnie uwierzytelnić się nawzajem (na przykład poprzez wykazanie znajomości kluczy współdzielonych). Kanały komunikacji muszą mieć zabezpieczenie szyfrowane.
  • Aplikacja może wysyłać powiadomienia z urządzenia lokalnego do podłączonego urządzenia, aby umożliwić użytkownikowi podjęcie działań w związku z powiadomieniami na podłączonym urządzeniu.
  • Możliwość przesyłania strumieniowego metadanych niezbędnych do przesyłania strumieniowego aplikacji do podłączonego urządzenia, takich jak lista aplikacji dostępnych na urządzeniu lokalnym.
  • Możliwość strumieniowego przesyłania aplikacji z urządzenia lokalnego na podłączone urządzenie po wyrażeniu przez użytkownika chęci, aby to zrobić za wyraźną zgodą (w telefonie lub na podłączonym urządzeniu).
  • Możliwość odtwarzania (wstrzykiwania) zdarzeń, które mają miejsce w aplikacji przesyłanej strumieniowo na podłączonym urządzeniu, z powrotem na urządzeniu lokalnym. Na przykład odtworzenie zdarzenia dotykowego na tablecie pod tymi samymi współrzędnymi na telefonie.
  • Aplikacja może zastąpić strumień mikrofonu urządzenia lokalnego strumieniem 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 strumieniowo do podłączonego urządzenia.
  • Należy blokować strumień kamery urządzenia lokalnego, gdy aplikacja przesyłana strumieniowo korzysta z kamery.
  • Należy zweryfikować integralność kompilacji systemu operacyjnego podłączonego urządzenia (na przykład za pomocą zaświadczenia urządzenia jak w VerifiedBootState ).
  • Przesyłaj strumieniowo tylko aplikacje, w przypadku których w rejestrze kont na urządzeniu znajduje się tylko jedno pasujące konto (na przykład Menedżer konta w systemie Android) na obu urządzeniach. Jeżeli tak nie jest, streaming należy autoryzować jednorazowym kodem pokazanym na urządzeniu źródłowym i wprowadzonym na podłączonym urządzeniu. Należy pamiętać, że w przypadku urządzeń obsługujących wielu użytkowników (a nie wiele kont) z taką samą gwarantowaną izolacją danych jak w przypadku wielu użytkowników Androida , użytkownik liczy się jako urządzenie.
  • Należy natychmiast przerwać przesyłanie strumieniowe i odłączyć się od podłączonego urządzenia, jeśli uwierzytelnienie konta na podłączonym urządzeniu wygaśnie lub zostanie cofnięte.
  • Przed przesyłaniem strumieniowym i w jego trakcie należy sprawdzić, czy podłączone urządzenie znajduje się w zasięgu Bluetooth urządzenia lokalnego.
  • Należy rozłączyć trwające sesje przesyłania strumieniowego aplikacji, jeśli użytkownik nie wchodzi w interakcję z podłączonym urządzeniem (na przykład klawiatura, ekran dotykowy i mysz są nieaktywne) przez 5 minut. Aplikacje do strumieniowego przesyłania wideo są zwolnione z tego wymogu.
  • Jeśli urządzenie źródłowe korzysta z funkcji Lockscreen Knowledge Factor (LSKF), gdy ekran jest zablokowany, aplikacja nie może przesyłać strumieniowo aplikacji do podłączonego urządzenia, chyba że to urządzenie ma ekran blokady i jest odblokowane.
  • Jeśli urządzeniem zarządza administrator, aplikacja musi przestrzegać ustalonych przez niego zasad dotyczących włączania i wyłączania przesyłania strumieniowego aplikacji do pobliskich urządzeń (na przykład przy użyciu ustawień DevicePolicyManager w systemie Android).
  • Należy upewnić się, że zdalny wyświetlacz i wszystkie źródła zdalnych zdarzeń wejściowych należą do tego samego urządzenia logicznego (na przykład zdalnego wyświetlacza i podłączonej klawiatury) z perspektywy użytkownika, a zdarzenia są odpowiednio kierowane.
  • Użytkownik musi mieć możliwość zakończenia przesyłania strumieniowego z urządzenia lokalnego, na przykład za pomocą przycisku w trwałym powiadomieniu. To zachowanie jest kontrolowane przez ekran blokady, jeśli telefon ma ustawioną blokadę ekranu.
  • Musi pokazywać afordancję na urządzeniu źródłowym, gdy przesyłanie strumieniowe odbywa się na innym urządzeniu, na przykład ikona na pasku stanu lub trwałe powiadomienie.
DEVICE_POLICY_MANAGEMENT Wszystkie z:
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji. Aplikacje nie mogą żądać tej roli, ponieważ ma ona zostać przyznana 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ępnienia zarządzanego profilu (właściciela profilu) lub zarządzanego urządzenia (właściciela urządzenia), w tym pobrania/zainstalowania odpowiedniego klienta Device Policy, aby w razie potrzeby był właścicielem urządzenia/profilu.
  • Aplikacja może opcjonalnie dynamicznie aktualizować zasoby takie jak stringi, rysunki służące do zarządzania polityką urządzeń.
  • Aplikacja może być preinstalowaną aplikacją systemową lub zostać pobrana i zainstalowana przed udostępnieniem.
  • W przypadku udostępniania przez właściciela profilu, gdy aplikacja posiadacza roli jest zainstalowana na danym użytkowniku Androida , należy ją zainstalować na wszystkich odpowiednich profilach tego użytkownika.
SYSTEM_APP_PROTECTION_SERVICE Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Jedynym celem aplikacji jest wykrywanie potencjalnie szkodliwych aplikacji (aplikacji, które mogą narazić użytkowników, dane użytkowników lub urządzenia na ryzyko, takich jak trojany, aplikacje typu phishing i oprogramowanie szpiegujące) lub niechcianego oprogramowania mobilnego .
  • Aplikacja musi spełniać wszystkie wymagania określone w sekcji Android CDD 9.8.6 Przechwytywanie treści .
  • Nie może deklarować normalnego uprawnienia android.permission.INTERNET . Zamiast tego musi uzyskać dostęp do Internetu za pośrednictwem dobrze zdefiniowanych interfejsów API w projekcie open source.
  • Nie może wiązać się z aplikacjami, z wyjątkiem następujących aplikacji systemowych: Kontrolera uprawnień i komponentów udostępniających internetowe interfejsy API. Każde dozwolone powiązanie musi być skonfigurowane jawnie poprzez konfigurację <allow-association> w konfiguracji systemu.
  • Nie może udostępniać danych aplikacjom, chyba że nastąpi bezpośrednie działanie użytkownika (na przykład użytkownik wyraźnie naciśnie przycisk za każdym razem, gdy dane zostaną udostępnione).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Należy przesłać dane kalendarza z telefonu użytkownika z systemem iOS lub Android na urządzenie z systemem Android Auto. Urządzenie z systemem Android Auto musi przechowywać te dane kalendarza u dostawcy kalendarza .
  • Aplikacja musi udostępniać komponent interfejsu użytkownika na telefonie, za pomocą którego użytkownik może włączyć synchronizację kalendarza i wybrać kalendarze do synchronizacji. Aplikacja musi udostępniać komponent interfejsu użytkownika na telefonie, za pomocą którego użytkownik może wyłączyć synchronizację kalendarza.
  • Powinien działać bez połączenia z Internetem. Na przykład za pomocą bezpośrednich połączeń przewodowych lub bezprzewodowych.
AUTOMOTIVE_NAVIGATION Wszystkie z:
  • Aplikacja zawiera działanie, które aplikacje mogą wywoływać poprzez ukryte żądania dotyczące zamiaru, które pokazuje bieżącą lokalizację i otoczenie użytkownika.
  • Aplikacja ma działanie, które aplikacje mogą wywoływać poprzez ukryte żądania dotyczące zamiaru, które umożliwia użytkownikowi nawigację do określonej lokalizacji geograficznej.
  • Ma działanie uruchamiane na zestawie wskaźników, gdy aplikacja trzyma fokus nawigacyjny . Działanie musi pokazywać aktualną lokalizację użytkownika, otoczenie i umożliwiać mu nawigację do określonej geolokalizacji.
COMPANION_DEVICE_COMPUTER Wszystkie z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Pozwól użytkownikom wyświetlać powiadomienia lustrzane oraz uzyskiwać dostęp do zdjęć i multimediów z telefonu na podłączonym komputerze.
SYSTEM_SETTINGS_INTELLIGENCE Przynajmniej jeden z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Zawiera usługę zapewniającą funkcje inteligentne dla aplikacji Ustawienia, takie jak sugestie i wyszukiwanie.
NOTATKI Wszystkie z:
COMPANION_DEVICE_GLASSES Aplikacja może wysyłać żądania powiązania z okularami i zarządzania nimi (przy użyciu interfejsu API udostępnianego przez klasę CompanionDeviceManager ). Po połączeniu okularów z aplikacją za pomocą interfejsu użytkownika dostarczonego przez CDM użytkownicy mogą zarządzać swoimi 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 z:
  • Aplikacja jest aplikacją systemową .
  • Tylko producenci OEM mogą przyznać tę rolę aplikacji.
  • Aplikacja może tworzyć i zarządzać kanałami komunikacji z podłączonymi urządzeniami, dzięki czemu urządzenia mogą wymieniać dane. Aby nawiązać te kanały komunikacji, aplikacja i podłączone urządzenia muszą pomyślnie uwierzytelnić się nawzajem (na przykład poprzez wykazanie znajomości kluczy współdzielonych). Kanały komunikacji muszą mieć zabezpieczenie szyfrowane.
  • Aplikacja może wysyłać powiadomienia z urządzenia lokalnego do podłączonego urządzenia, aby umożliwić użytkownikowi podjęcie działań w związku z powiadomieniami na podłączonym urządzeniu.
  • Możliwość przesyłania strumieniowego metadanych niezbędnych do przesyłania strumieniowego aplikacji do podłączonego urządzenia, takich jak lista aplikacji dostępnych na urządzeniu lokalnym.
  • Możliwość strumieniowego przesyłania aplikacji z urządzenia lokalnego na podłączone urządzenie po wyrażeniu przez użytkownika chęci, aby to zrobić za wyraźną zgodą (w telefonie lub na podłączonym urządzeniu).
  • Możliwość odtwarzania (wstrzykiwania) zdarzeń, które mają miejsce w aplikacji przesyłanej strumieniowo na podłączonym urządzeniu, z powrotem na urządzeniu lokalnym. Na przykład odtworzenie zdarzenia dotykowego na tablecie pod tymi samymi współrzędnymi co na telefonie lub odtworzenie zdarzenia wejściowego, które miało miejsce na okularach, z taką samą semantyką wprowadzania danych jak w telefonie.
  • Aplikacja może zastąpić strumień mikrofonu urządzenia lokalnego strumieniem 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 strumieniowo do podłączonego urządzenia.
  • Należy zweryfikować integralność kompilacji systemu operacyjnego podłączonego urządzenia (na przykład za pomocą zaświadczenia urządzenia jak w VerifiedBootState ).
  • Przesyłaj strumieniowo tylko aplikacje, w przypadku których w rejestrze kont na urządzeniu znajduje się tylko jedno pasujące konto (na przykład Menedżer konta w systemie Android) na obu urządzeniach. Jeżeli tak nie jest, streaming należy autoryzować jednorazowym kodem pokazanym na urządzeniu źródłowym i wprowadzonym na podłączonym urządzeniu. Należy pamiętać, że w przypadku urządzeń obsługujących wielu użytkowników (a nie wiele kont) z taką samą gwarantowaną izolacją danych jak w przypadku wielu użytkowników Androida , użytkownik liczy się jako urządzenie.
  • Należy natychmiast przerwać przesyłanie strumieniowe i odłączyć się od podłączonego urządzenia, jeśli uwierzytelnienie konta na podłączonym urządzeniu wygaśnie lub zostanie cofnięte.
  • Jeśli urządzenie źródłowe korzysta z funkcji Lockscreen Knowledge Factor (LSKF), gdy ekran jest zablokowany, aplikacja nie może przesyłać strumieniowo aplikacji do podłączonego urządzenia, chyba że to urządzenie ma ekran blokady i jest odblokowane.
  • Jeśli urządzeniem zarządza administrator, aplikacja musi przestrzegać ustalonych przez niego zasad dotyczących włączania i wyłączania przesyłania strumieniowego do pobliskich urządzeń (na przykład przy użyciu ustawień DevicePolicyManager w systemie Android).
  • Należy upewnić się, że zdalny wyświetlacz i wszystkie źródła zdalnych zdarzeń wejściowych należą do tego samego urządzenia logicznego (na przykład zdalnego wyświetlacza i podłączonej klawiatury) z perspektywy użytkownika, a zdarzenia są odpowiednio kierowane.
  • Użytkownik musi mieć możliwość zakończenia przesyłania strumieniowego z urządzenia lokalnego, na przykład za pomocą przycisku w trwałym powiadomieniu. To zachowanie jest kontrolowane przez ekran blokady, jeśli telefon ma ustawioną blokadę ekranu.
  • Musi pokazywać afordancję na urządzeniu źródłowym, gdy przesyłanie strumieniowe odbywa się na innym urządzeniu, na przykład ikona na pasku stanu lub trwałe powiadomienie.