Role w Androidzie

Rola to unikalna nazwa w systemie powiązana z określonymi 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 żądania pomocy (np. nazwa 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 jest w stanie obsłużyć działanie pomocy.
AUTOMOTIVE_NAVIGATION Wszystkie:
  • Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą niejawnych żądań intencji, aby wyświetlić bieżącą lokalizację użytkownika i otoczenie.
  • Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań niejawnych intencji, co pozwala użytkownikowi przejść do określonej lokalizacji geograficznej.
  • Aplikacja ma aktywność, która jest uruchamiana na panelu sterowania, gdy aplikacja ma fokus nawigacji. Aktywność musi pokazywać bieżącą lokalizację użytkownika i otoczenie oraz umożliwiać nawigację do określonej lokalizacji geograficznej.
BROWSER Wszystkie:
  • Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą żądań z ukrytym zamiarem. 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ść udostępniania stronom internetowym bieżących informacji o lokalizacji geograficznej urządzenia, gdy użytkownik wyrazi na to zgodę.
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ć wysyłane do aplikacji wybierania numerów na telefonie (i ewentualnie dzwonić, biorąc pod uwagę tryb Nie przeszkadzać lub głośność), a które mają być wysyłane w ciszy na pocztę głosową.
  • Identyfikacja połączeń: usługa może identyfikować i wyświetlać informacje o połączeniu w interfejsie użytkownika.
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, które będzie pasować do konta AccountManager, a połączenie musi zostać potwierdzone za pomocą kodu jednorazowego.
    • użytkownik musi potwierdzić hasło do konta na drugim urządzeniu zdalnym podczas parowania urządzeń lub
    • 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.
    • Na urządzeniu źródłowym wyświetla się kod jednorazowy, który należy wpisać na urządzeniu połączonym.
    • Podczas przesyłania strumieniowego urządzenia muszą znajdować się w zasięgu łączności Bluetooth.
  • 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ć chronione za pomocą 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);
  • odtwarzać (wstrzykiwać) zdarzenia, które występują w przekazywanych aplikacjach na połączonym urządzeniu, 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 na urządzeniu lokalnym strumieniem mikrofonu na urządzeniu połączonym, gdy aplikacja strumieniowa używa mikrofonu.
  • Aplikacja rejestruje dźwięk z urządzenia i przesyła go do połączonego urządzenia.
  • Musi blokować strumień z aparatu lokalnego urządzenia, gdy strumieniowana aplikacja używa aparatu.
  • Musisz zweryfikować integralność wersji systemu operacyjnego na urządzeniu (np. za pomocą uwierzytelniania urządzenia, jak w VerifiedBootState).
  • Przesyłać strumieniowo aplikacje tylko wtedy, gdy na urządzeniu jest tylko jedno pasujące konto (na przykład klasa AccountManager na Androidzie) na obu urządzeniach. 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ć strumieniowe przesyłanie i rozłączyć się z połączonym urządzeniem.
  • W przypadku trwających sesji strumieniowego przesyłania aplikacji musisz rozłączać je, jeśli 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.
  • Począwszy od Androida 15
    Po upływie czasu bezczynności urządzenia zdalnego, na którym wyświetlane są treści, 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 czasu oczekiwania, należy użyć maksymalnego czasu oczekiwania wynoszącego 5 minut.
  • Jeśli urządzenie źródłowe używa czynnika wiedzy dotyczącego ekranu 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ć zasad określonych przez administratora dotyczących włączania lub wyłączania przesyłania strumieniowego aplikacji na urządzenia w pobliżu (np. za pomocą ustawień DevicePolicyManagerna 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świetlacza zdalnego i podłączonej klawiatury) oraz że zdarzenia są odpowiednio kierowane.
  • Użytkownik musi mieć możliwość zakończenia strumieniowego przesyłania z lokalnego urządzenia, na przykład za pomocą przycisku w powiadomieniu. To zachowanie jest ograniczone przez ekran 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świetlana odpowiednia opcja, na przykład ikona na pasku stanu lub stałe powiadomienie.
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.
COMPANION_DEVICE_GLASSES Aplikacja może wysyłać żądania powiązania z urządzeniem do obsługi 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 wybieraniem połączeń.
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, które będzie pasować do konta AccountManager, a połączenie musi zostać potwierdzone za pomocą kodu jednorazowego.
    • użytkownik musi potwierdzić hasło do konta na drugim urządzeniu zdalnym podczas parowania urządzeń lub
    • 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.
    • Na urządzeniu źródłowym wyświetla się kod jednorazowy, który należy wpisać na urządzeniu połączonym.
    • Podczas przesyłania strumieniowego urządzenia muszą znajdować się w zasięgu łączności Bluetooth.
  • 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);
  • odtwarzać (wstrzykiwać) zdarzenia, które występują w przekazywanych aplikacjach na połączonym urządzeniu, 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 urządzeniu połączonym, gdy aplikacja strumieniowa używa mikrofonu.
  • Aplikacja rejestruje dźwięk z urządzenia i przesyła go do połączonego urządzenia.
  • Musisz zweryfikować integralność wersji systemu operacyjnego na urządzeniu (np. za pomocą uwierzytelniania urządzenia, jak w VerifiedBootState).
  • Tylko strumieniowanie aplikacji, w których na urządzeniu jest tylko jedno pasujące konto (np. klasa AccountManager na Androidzie) na obu urządzeniach. 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ć strumieniowe przesyłanie 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).
  • Musisz się upewnić, że wyświetlacz zdalny i wszystkie źródła zdarzeń danych wejściowych zdalnych 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 lokalnego urządzenia, 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świetlana odpowiednia opcja, na przykład ikona na pasku stanu lub stałe powiadomienie.
COMPANION_DEVICE_WATCH Aplikacja może wysyłać żądania powiązania z zegarkiem i zarządzania nim (za pomocą interfejsu API udostępnianego przez klasę CompanionDeviceManager). Gdy zegarek i aplikacja są połączone za pomocą interfejsu użytkownika aplikacji, użytkownicy mogą zarządzać zegarkiem z aplikacji, m.in. synchronizować kontakty i kalendarz oraz zarządzać powiadomieniami i połączeniami telefonicznymi.
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ść konfigurowania zarządzanego profilu (właściciel profilu) lub zarządzanego urządzenia (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ć zasoby, takie jak ciągi tekstowe i pliki graficzne używane do zarządzania zasadami dotyczącymi urządzenia.
  • 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.
DIALER Wszystkie:
  • Aplikacja ma aktywność, którą inne aplikacje mogą wywoływać za pomocą niejawnych żądań intencji. Aktywność ta zapewnia interfejs użytkownika podczas połączenia, gdy urządzenie jest w trybie połączenia.
  • Aplikacja może obsługiwać intencje dotyczące połączeń przychodzących, wyświetlać użytkownikowi informacje związane z połączeniem (np. numer telefonu dzwoniącego) oraz umożliwiać mu odebranie lub odrzucenie połączenia.
  • Aplikacja umożliwia użytkownikowi nawiązywanie połączeń i wyświetlanie historii połączeń na urządzeniu.
EMERGENCY Wszystkie:
  • Aplikacja jest aplikacją systemową.
  • Aplikacja zawiera aktywność, która przedstawia informacje o użytkowniku w przypadku nagłego wypadku. 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 zawierać ikony aplikacji, widżety i obsługiwać nawigację za pomocą przycisków lub gestów (np. przesuwanie w górę, aby wyświetlić wszystkie aplikacje).
NOTES Wszystkie:
SMS Wszystkie:
  • 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.
SYSTEM_ACTIVITY_RECOGNIZER Wszystkie:
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Wszystkie:
  • Warunki są identyczne jak w przypadku SYSTEM_UI_INTELLIGENCE, ale w przypadku wstępnie zainstalowanej usługi inteligentny procesor na urządzeniu obsługuje dźwięk otoczenia (np. rozpoznaje utwory odtwarzane w pobliżu urządzenia).
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 mieć 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 wiązanie musi być skonfigurowane w sposób jawny za pomocą konfiguracji <allow-association> w konfiguracji systemu.
  • 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_AUDIO_INTELLIGENCE Wszystkie:
  • Warunki są identyczne jak w przypadku SYSTEM_UI_INTELLIGENCE, ale w przypadku wstępnie zainstalowanej usługi inteligentny procesor audio działa na urządzeniu (na przykład w przypadku napisów do filmów, podcastów, połączeń telefonicznych, połączeń wideo i wiadomości audio).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Wszystkie:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę aplikacji mogą przyznać tylko producenci OEM.
  • Aplikacja musi przenosić dane kalendarza z telefonu z iOS lub Androidem na urządzenie Android 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. na przykład za pomocą połączeń przewodowych lub bezprzewodowych;
SYSTEM_AUTOMOTIVE_CLUSTER Wszystkie:
  • Aplikacja jest aplikacją systemową w systemie Automotive.
  • Tę rolę aplikacji mogą przyznać tylko producenci 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ń.
SYSTEM_AUTOMOTIVE_PROJECTION Wszystkie:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę aplikacji mogą przyznać tylko producenci 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_COMPANION_DEVICE_PROVIDER Wszystkie:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę aplikacji mogą przyznać tylko producenci OEM.
  • Aplikacja musi być w stanie wykrywać urządzenia peryferyjne w swoim otoczeniu. Musi ono zawierać 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ą. Po potwierdzeniu przez użytkownika aplikacja zarządzająca przyznaje powiązanej aplikacji uprawnienia dostępu do urządzenia peryferyjnego (np. jego nazwy, adresu, klasy i stanu parowania) i może rozpocząć proces parowania.
SYSTEM_CONTACTS Wszystkie:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę aplikacji mogą przyznać tylko producenci 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 usługę Kontakty, gdy użytkownik zaktualizuje kontakty w aplikacji. Użytkownicy mogą też dzwonić, wysyłać e-maile i SMS-y do kontaktów z aplikacji.
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. Oprogramowanie w sekcji [3.2.3.1/H-0-1].
SYSTEM_GALLERY Wszystkie:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę aplikacji mogą przyznać tylko producenci OEM.
  • Aplikacja udostępnia interfejs, który umożliwia użytkownikom przechowywanie, porządkowanie i wyświetlanie filmów oraz obrazów.
SYSTEM_NOTIFICATION_INTELLIGENCE Wszystkie:
  • Warunki są identyczne jak w przypadku SYSTEM_UI_INTELLIGENCE, z tym że w przypadku wstępnie zainstalowanej usługi inteligentny procesor powiadomień działa na urządzeniu (np. sugeruje odpowiedzi i działania w przypadku powiadomień o wiadomościach).
SYSTEM_SETTINGS_INTELLIGENCE Co najmniej 1 z tych elementów:
  • 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.
SYSTEM_SHELL Wszystkie:
  • Aplikacja jest aplikacją systemową, której przypisano identyfikator UID Process.SHELL_UID.
  • Tę rolę aplikacji mogą przyznać tylko producenci 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 można wykonywać programowo przez aplikacje (jeśli zostały przyznane niezbędne uprawnienia) lub za pomocą narzędzia ADB.
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_TELEVISION_NOTIFICATION_HANDLER Wszystkie:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę aplikacji mogą przyznać tylko producenci OEM.
  • Aplikacja musi wyświetlać użytkownikom na urządzeniach TV powiadomienia o zbliżającym się wydarzeniu. Aplikacja musi też wyświetlać bieżące aktywne powiadomienia, gdy wysyłana jest intencja android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (z SystemUI).
SYSTEM_TELEVISION_REMOTE_SERVICE Wszystkie:
  • Aplikacja jest aplikacją systemową na Androidzie 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), wstrzykiwać zdarzenia (np. kliknięcia przycisków) i przesyłać inne dane (np. strumień audio z wbudowanego w pilot mikrofonu) na platformę.
SYSTEM_TEXT_INTELLIGENCE Wszystkie:
  • Warunki są identyczne jak w przypadku SYSTEM_UI_INTELLIGENCE, ale w przypadku wstępnie zainstalowanej usługi inteligentny procesor tekstowy działa na urządzeniu (np. zapewnia tłumaczenie na żywo lub autouzupełnianie).
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_UI_INTELLIGENCE Wszystkie:
  • być wstępnie zainstalowaną usługą, która za pomocą interfejsów API frameworku (publicznych lub systemowych) zapewnia inteligentny procesor na urządzeniu do obsługi funkcji interfejsu użytkownika (np. przewidywanie i wyświetlanie 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 wiązanie musi być skonfigurowane w sposób jawny za pomocą konfiguracji <allow-association> w konfiguracji systemu.
  • Usługa nie może udostępniać danych aplikacjom, chyba że użytkownik wykona bezpośrednią czynność (np. naciśnie przycisk za każdym razem, gdy dane mają być udostępnione).
SYSTEM_VISUAL_INTELLIGENCE Wszystkie:
  • Warunki są identyczne jak w przypadku SYSTEM_UI_INTELLIGENCE, z tym że wstępnie zainstalowana usługa udostępnia inteligentny procesor na urządzeniu do obsługi funkcji wizualnych, który analizuje dane 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.
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_WIFI_COEX_MANAGER Wszystkie:
  • Aplikacja jest aplikacją systemową.
  • Tę rolę aplikacji mogą przyznać tylko producenci OEM.
  • Aplikacja zawiera 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.
WALLET Jeden z tych elementów:
  • 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.