Android-Rollen

Eine Rolle ist ein eindeutiger Name im System, der mit bestimmten Berechtigungen verknüpft ist. Apps können über die Android API bestimmte Rollen anfordern, insbesondere durch Aufrufen von Methoden in der Klasse RoleManager.

In der folgenden Liste finden Sie die verfügbaren Rollen und die entsprechenden Anforderungen:

Rolle Voraussetzungen
ASSISTANT Mindestens eines der folgenden Elemente:
  • Die App hat eine Aktivität, die Assistenzaktionen ausführt, basierend auf den Informationen zum Kontext des Nutzers, als er die Assistenz angefordert hat (z. B. der Paketname der aktuellen App im Vordergrund und ihre Kontextinformationen).
  • Die App hat einen aktiven Sprachinteraktionsdienst, der durch die Berechtigung android.permission.BIND_VOICE_INTERACTION eingeschränkt ist. Dieser Dienst kann Spracherkennung ausführen und aktive Sprachinteraktionssitzungen hosten. Außerdem enthält die App ein explizites Flag, das angibt, dass der Dienst die Assist-Aktion verarbeiten kann.
BROWSER Alle der folgenden Voraussetzungen:
  • Die App hat eine Aktivität, die andere Apps über implizite Intent-Anfragen aufrufen können. Daraufhin wird eine Webseite angezeigt, die einer http://-Adresse entspricht.
  • Die App muss die Navigation zwischen den Links unterstützen. Wenn der Nutzer also eine Webseite besucht und im Text auf eine http://-Adresse klickt, muss die App den Inhalt des ausgewählten Links ohne weitere Nutzerinteraktion anzeigen können.
  • Die App muss in der Lage sein, die aktuellen Standortinformationen des Geräts an Websites weiterzugeben, wenn eine Anfrage erfolgt und der Nutzer die Anfrage genehmigt.
DIALER Alle der folgenden Voraussetzungen:
  • Die App hat eine Aktivität, die andere Apps über implizite Intent-Anfragen aufrufen können. Diese Aktivität stellt die Benutzeroberfläche für Anrufe bereit, während das Gerät gerade in einem Anruf ist.
  • Die App kann eingehende Anruf-Intents verarbeiten, dem Nutzer die zugehörigen Informationen (z. B. die Telefonnummer des Anrufers) anzeigen und ihm die Möglichkeit geben, den Anruf anzunehmen oder abzulehnen.
  • Die App bietet Nutzern die Möglichkeit, Anrufe zu starten und sich den Anrufverlauf auf ihrem Gerät anzusehen.
SMS Alle der folgenden Voraussetzungen:
  • Die App erfüllt alle Anforderungen an SMS-Apps.
  • Die App hat eine Aktivität, die andere Apps über implizite Intent-Anfragen aufrufen können, um eine Nachricht an eine Telefonnummer zu senden.
  • Die App hat einen Dienst, der durch die Berechtigung android.permission.SEND_RESPOND_VIA_MESSAGE eingeschränkt ist und durch implizite Intents aufgerufen werden kann. Über diesen Dienst können Nachrichten gesendet werden, die von der Telefon App empfangen wurden, wenn der Nutzer während eines eingehenden Anrufs die Option „Per Nachricht antworten“ auswählt. Die App kann Nachrichten über ihr eigenes Messaging-System senden.
  • Die App hat zwei Broadcastempfänger, einer davon ist durch die Berechtigung android.permission.BROADCAST_SMS und der andere durch die Berechtigung android.permission.BROADCAST_WAP_PUSH geschützt. Sie können jeweils auf textbasierte SMS- und MMS-Nachrichten achten, die an das Gerät gesendet werden. Die App ist dann dafür verantwortlich, die Nachrichten an den SMS-Anbieter zu senden und die Nutzer zu benachrichtigen.
EMERGENCY Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Die App enthält eine Aktivität, in der die Notfallinformationen des Nutzers angezeigt werden. Jeder kann über die Notruftaste in der Aktivität „Notrufzentrale“ zu diesem Bildschirm wechseln.
HOME Die App hat eine Aktivität, die den Startbildschirm starten kann, wenn der Nutzer die Schaltfläche „Startseite“ drückt. Der Startbildschirm sollte App-Symbole und Widgets enthalten und die Navigation über Schaltflächen oder Touch-Gesten unterstützen (z. B. Wischen nach oben, um alle Apps zu sehen).
CALL_REDIRECTION Die App hat einen Dienst, der durch die Berechtigung android.permission.BIND_CALL_REDIRECTION_SERVICE eingeschränkt ist, an den das Telekommunikations-Framework gebunden werden kann. Der Dienst empfängt die ausgehende Telefonnummer vom Telekommunikations-Framework und führt eine der folgenden Aktionen aus:
  • Lassen Sie den Anruf unverändert starten.
  • Ändern Sie die ausgehende Nummer, damit sie über eine Proxynummer weitergeleitet wird.
  • Beenden Sie den Anruf.
CALL_SCREENING Die App hat einen Dienst, der durch die Berechtigung android.permission.BIND_SCREENING_SERVICE eingeschränkt ist und zwei Funktionen ausführt:
  • Anrufblockierung und -filterung:Der Dienst kann auswählen, welche Anrufe an die Telefon-App auf dem Smartphone gesendet werden sollen (und gegebenenfalls klingeln, je nach Einstellung für „Bitte nicht stören“ oder Lautstärke) und welche stumm an die Mailbox weitergeleitet werden sollen.
  • Anruferkennung:Der Dienst kann Informationen zu einem Anruf über eine Benutzeroberfläche identifizieren und anzeigen.
SYSTEM_GALLERY Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App bietet eine Benutzeroberfläche, mit der Nutzer ihre Videos und Bilder speichern, organisieren und anzeigen können.
SYSTEM_AUTOMOTIVE_CLUSTER Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App für Android Automotive.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App bietet die Möglichkeit, über ein Kombiinstrument (in der Regel neben dem Lenkrad) Anrufe anzunehmen und auf Kontaktlisten und Anruflisten zuzugreifen.
COMPANION_DEVICE_WATCH Die App kann Anfragen senden, um mit einer Smartwatch verknüpft und verwaltet zu werden (mithilfe der API, die von der Klasse CompanionDeviceManager bereitgestellt wird). Wenn die Smartwatch und die App über die von der App bereitgestellte Benutzeroberfläche verbunden sind, können Nutzer ihre Smartwatch über die App verwalten, z. B. Kontakte und Kalender synchronisieren und Benachrichtigungen und Anrufe verwalten.
SYSTEM_AUTOMOTIVE_PROJECTION Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Mit der App kann das Smartphonedisplay auf das Display im Fahrzeug projiziert werden. So können Fahrer über Eingabemechanismen im Fahrzeug wie Touchbedienung, Lenkradsteuerung und Sprachbefehle auf Apps auf Android-Smartphones zugreifen und diese steuern, z. B. Musik, Navigation, Telefonanrufe und Suche.
SYSTEM_SHELL Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App, der die UID Process.SHELL_UID zugewiesen ist.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App bietet eine Benutzeroberfläche auf Befehlszeilenebene, über die Nutzer mit dem Android-Betriebssystem interagieren können. Beispielsweise können Sie den Inhalt eines Ordners anzeigen oder Apps starten. Shell-Befehle können programmatisch von Apps ausgeführt werden (sofern die erforderlichen Berechtigungen gewährt wurden) oder über das ADB-Tool.
SYSTEM_CONTACTS Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App bietet eine Benutzeroberfläche, über die Nutzer ihre Kontakte verwalten können (z. B. Kontakte ansehen, teilen, hinzufügen, entfernen oder nach einem Kontakt suchen). Die App aktualisiert den Kontaktanbieter, wenn der Nutzer seine Kontakte über die App aktualisiert. Nutzer können auch über die App ihre Kontakte anrufen, ihnen E-Mails senden oder Nachrichten senden.
SYSTEM_SPEECH_RECOGNIZER Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App bietet einen Dienst, der Spracherkennung ausführen kann.
  • Wenn die App Live-Mikrofonstreams von einer anderen App für die Spracherkennung empfängt, wird die Mikrofonnutzung der anrufenden App korrekt zugeordnet und die Statistiken zur App-Nutzung werden entsprechend aktualisiert.
SYSTEM_WIFI_COEX_MANAGER Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App hat einen Dienst, der dynamisch eine Liste von WLAN-Kanälen festlegt, die das Gerät aufgrund von Mobilfunkstörungen nicht verwenden sollte.
SYSTEM_WELLBEING Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App sollte Nutzern die Möglichkeit bieten, Ablenkungen zu reduzieren und Statistiken zur Nutzung ihres Geräts zu erhalten, z. B. zur Bildschirmzeit pro Woche.
SYSTEM_TELEVISION_NOTIFICATION_HANDLER Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App muss Nutzern auf Fernsehern Push-Benachrichtigungen anzeigen. Die App muss auch aktuelle aktive Benachrichtigungen anzeigen, wenn die android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL-Intent-Nachricht gesendet wird (von SystemUI).
SYSTEM_COMPANION_DEVICE_PROVIDER Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App muss Peripheriegeräte in ihrer Nähe erkennen können. Sie muss eine Benutzeroberfläche haben, über die der Nutzer bestätigen kann, dass ein bestimmtes Peripheriegerät mit einer App verknüpft und von dieser verwaltet werden soll. Wenn der Nutzer zustimmt, gewährt die verwaltende App der verknüpften App die Berechtigung zum Zugriff auf das Peripheriegerät (z. B. Name, Adresse, Klasse und Kopplungsstatus) und kann den Kopplungsprozess starten.
SYSTEM_DOCUMENT_MANAGER Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App enthält eine Aktivität, mit der Nutzer auf vorhandene Dokumente zugreifen und neue Dokumente auf dem Gerät erstellen können.
  • Die App muss alle Anforderungen erfüllen, die im Abschnitt 2.2.3 des Android-CDD beschrieben sind. Software unter der Überschrift [3.2.3.1/H-0-1].
SYSTEM_ACTIVITY_RECOGNIZER Alle der folgenden Voraussetzungen:
SYSTEM_UI Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App hat eine Benutzeroberfläche, über die Nutzer mit ihren Smartphones interagieren können. Beispielsweise der Hauptbildschirm des Smartphones, die Navigation, die zuletzt verwendeten Apps, die Schnelleinstellungen, die Benachrichtigungsleiste, der Sperrbildschirm und die Lautstärkeregelung.
SYSTEM_TELEVISION_REMOTE_SERVICE Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App auf Android TV.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App hat einen Dienst, der mit dem HID-Gerät der Fernsehfernbedienung kommunizieren (z. B. über BLE), Ereignisse einschleusen (z. B. Tastenklicks) und andere Daten (z. B. Audiostream von einem Mikrofon in der Fernbedienung) an die Plattform senden kann.
SYSTEM_UI_INTELLIGENCE Alle der folgenden Voraussetzungen:
  • Ein vorinstallierter Dienst, der über Framework-APIs (öffentliche oder System-APIs) einen intelligenten On-Device-Prozessor für System-UI-Funktionen bereitstellt (z. B. Vorhersage und Anzeige der nächsten Apps für die Nutzer).
  • Der Dienst muss alle Anforderungen erfüllen, die im Abschnitt 9.8.6 Inhaltserfassung der Android-CDD beschrieben sind.
  • Der Dienst darf nicht die Berechtigung android.permission.INTERNET haben. Stattdessen muss es über klar definierte APIs in einem Open-Source-Projekt auf das Internet zugreifen.
  • Der Dienst kann nicht mit Apps verbunden werden, mit Ausnahme der folgenden System-Apps: Bluetooth, Kontakte, Medien, Telefonie, SystemUI und Komponenten, die Internet-APIs bereitstellen. Jede zulässige Bindung muss explizit über die <allow-association>-Konfiguration in der Systemkonfiguration eingerichtet werden.
  • Der Dienst kann nur dann Daten an Apps weitergeben, wenn eine direkte Nutzeraktion erfolgt, z. B. wenn der Nutzer jedes Mal, wenn die Daten weitergegeben werden, ausdrücklich eine Schaltfläche drückt.
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Alle der folgenden Voraussetzungen:
  • Entspricht den Bedingungen für SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten On-Device-Prozessor für Umgebungsaudio bietet (z. B. Erkennen von Titeln, die in der Nähe des Geräts abgespielt werden).
SYSTEM_AUDIO_INTELLIGENCE Alle der folgenden Voraussetzungen:
  • Entspricht den Bedingungen für SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten Audioprozessor auf dem Gerät bietet (z. B. für Untertitel bei Videos, Podcasts, Telefonanrufen, Videoanrufen und Sprachnachrichten).
SYSTEM_NOTIFICATION_INTELLIGENCE Alle der folgenden Voraussetzungen:
  • Entspricht den Bedingungen für SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten Prozessor für Benachrichtigungen auf dem Gerät bereitstellt (z. B. Vorschläge für Antworten und Aktionen für Nachrichtenbenachrichtigungen).
SYSTEM_TEXT_INTELLIGENCE Alle der folgenden Voraussetzungen:
  • Entspricht den Bedingungen für SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten On-Device-Prozessor für Text bereitstellt (z. B. Liveübersetzung oder Autofill).
SYSTEM_VISUAL_INTELLIGENCE Alle der folgenden Voraussetzungen:
  • Entspricht den Bedingungen für SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten On-Device-Prozessor für visuelle Funktionen bereitstellt, bei denen Kameradaten analysiert werden. Beispielsweise kann das Display des Smartphones aktiviert bleiben, während der Nutzer darauf schaut, oder die ideale Displayausrichtung anhand der Gesichtsausrichtung des Nutzers anhand der Frontkamera des Geräts ermittelt werden.
COMPANION_DEVICE_APP_STREAMING Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Zulässige Anwendungsfälle:
    • Streaming, Streaming oder Spiegeln von Apps, die Streaming, Streaming oder Spiegeln von einem Android-Gerät wie einem Smartphone oder Tablet auf einen Desktop- oder Laptop-Computer ermöglichen.
  • Beim Herstellen der ersten Verbindung von Gerät A zu Gerät B:
    • Die Kopplung MUSS durch einen einmaligen Code autorisiert werden, der auf dem Quellgerät (A) angezeigt und auf dem verbundenen Gerät (B) eingegeben wird. Alternativ kann der Nutzer die Kopplung bestätigen, indem er das Kontopasswort auf dem verbundenen Gerät eingibt, wenn beide Geräte mindestens ein übereinstimmendes Konto im Android AccountManager haben (B).
    • Beide Geräte müssen sich während des Koppelns in der Nähe 1 voneinander befinden.
  • Beide Geräte müssen sich während des Streamings in der Nähe voneinander befinden 1.
  • Die App kann Kommunikationskanäle mit verbundenen Geräten erstellen und verwalten, damit die Geräte Daten austauschen können. Die App und die verbundenen Geräte MÜSSEN sich gegenseitig authentifizieren (z. B. durch Nachweis des Wissens über freigegebene Schlüssel), um diese Kommunikationskanäle zu erstellen. Die Kommunikationskanäle MÜSSEN mit Ende-zu-Ende-Verschlüsselung geschützt sein.
  • Die App kann Benachrichtigungen vom Quellgerät (A) an das verbundene Gerät (B) senden, damit der Nutzer auf dem verbundenen Gerät (B) Aktionen auf die Benachrichtigungen ausführen kann.
  • Sie müssen die für das App-Streaming erforderlichen Metadaten an das verbundene Gerät (B) streamen können, z. B. die Liste der auf dem Quellgerät (A) verfügbaren Apps.
  • Apps vom Quellgerät (A) auf das verbundene Gerät (B) streamen können, nachdem der Nutzer seine Einwilligung dazu erteilt hat (entweder auf dem Quellgerät (A) oder auf dem verbundenen Gerät (B)).
  • Ereignisse, die in einer gestreamten App auf dem verbundenen Gerät (B) auftreten, können auf dem Quellgerät (A) noch einmal abgespielt (eingefügt) werden. Beispiel: Ein Touch-Ereignis wird auf dem verbundenen Gerät (B) an denselben Koordinaten wie auf dem Quellgerät (A) wiedergegeben oder ein Eingabeereignis, das auf dem verbundenen Gerät (B) aufgetreten ist, wird mit derselben Eingabesemantik wie auf dem Quellgerät (A) wiedergegeben.
  • Die App kann den Mikrofonstream des Quellgeräts durch den Mikrofonstream eines verbundenen Geräts ersetzen, während eine gestreamte App das Mikrofon verwendet.
  • Die App nimmt Audio vom Quellgerät (A) auf und streamt es an das verbundene Gerät (B).
  • Es wird EMPFOHLEN, den Zugriff auf Einstellungen und App-Shops vom verbundenen Gerät (B) aus zu blockieren.
  • Ab Android 16 müssen Screenshots und das Lesen des Bildschirms sensibler Inhalte wie sichere Fenster und Oberflächen auf dem verbundenen Gerät verhindert werden (B).
  • Die Integrität des Betriebssystems des verbundenen Geräts MUSS überprüft werden (z. B. durch Geräteattestierung wie in VerifiedBootState).
  • Streame nur Apps, für die es nur ein übereinstimmendes Konto in der On-Device-Kontoregistrierung gibt (z. B. die Klasse AccountManager auf Android-Geräten) auf beiden Geräten. Andernfalls MUSS das Streaming mit einem Einmalcode autorisiert werden, der auf dem Quellgerät (A) angezeigt und auf dem verbundenen Gerät (B) eingegeben wird. Bei Geräten, die mehrere Nutzer (und keine mehrere Konten) mit derselben zuverlässigen Datenisolierung wie bei Android-Mehrere-Nutzer-Konten unterstützen, wird ein Nutzer als Gerät gezählt.
  • MÜSSEN das Streaming beenden und die Verbindung zum verbundenen Gerät (B) sofort trennen, wenn die Authentifizierung des Kontos auf dem verbundenen Gerät (B) abläuft oder widerrufen wird.
  • MUSS das Streaming beenden und die Verbindung zum verbundenen Gerät (B) trennen, wenn die Inaktivitätsdauer des verbundenen Geräts (B), auf dem die Displayinhalte zu sehen sind, abgelaufen ist. KANN das Display des verbundenen Geräts eingeschaltet lassen, z. B. durch WakeLock, wodurch das Display des Android-Geräts eingeschaltet bleibt. Ein Zeitlimit für den Inaktivitätszeitraum MUSS vorhanden sein. Wenn das verbundene Gerät (B) kein eigenes Inaktivitäts-Timeout hat, MUSS ein Inaktivitäts-Timeout von maximal 5 Minuten verwendet werden.
  • Wenn das Quellgerät (A) den Sperrbildschirm-Wissensfaktor (LSKF) verwendet, darf die App bei gesperrtem Display keine Apps auf ein verbundenes Gerät (B) streamen, es sei denn, das verbundene Gerät (B) hat einen Sperrbildschirm und ist entsperrt.
  • Wenn das Quellgerät (A) von einem Administrator verwaltet wird, MUSS die App die vom Administrator festgelegten Richtlinien zum Aktivieren oder Deaktivieren des Streamings auf Geräte in der Nähe einhalten (z. B. mithilfe der DevicePolicyManager-Einstellungen unter Android).
  • Es MUSS sichergestellt sein, dass die Remote-Displays und alle Quellen von Remote-Eingabeereignissen aus Sicht des Nutzers zum selben logischen Gerät gehören (z. B. ein Remote-Display und eine angeschlossene Tastatur) und dass die Ereignisse entsprechend weitergeleitet werden.
  • Der Nutzer MUSS das Streaming vom Quellgerät (A) beenden können, z. B. über eine Schaltfläche in einer dauerhaften Benachrichtigung. Dieses Verhalten wird vom Sperrbildschirm gesteuert, wenn auf dem Quellgerät (A) eine Displaysperre eingerichtet ist. Diese dauerhafte Aufforderung muss auf dem Quellgerät (A) immer sichtbar und „above the fold“ sein.
  • Es MUSS eine Aufforderung auf dem Quellgerät (A) angezeigt werden, wenn das Streaming auf einem anderen Gerät erfolgt, z. B. ein Symbol in der Statusleiste oder eine dauerhafte Benachrichtigung.
DEVICE_POLICY_MANAGEMENT Alle der folgenden Voraussetzungen:
  • Nur OEMs können diese Rolle der App gewähren. Apps können diese Rolle nicht anfordern, da sie dem Paketnamen gewährt werden soll, der vom OEM beim Versand des Geräts definiert wurde.
  • Die App muss ein verwaltetes Profil (Profileigentümer) oder ein verwaltetes Gerät (Geräteeigentümer) bereitstellen können, einschließlich des Herunterladens und Installierens des entsprechenden Device Policy Clients, um bei Bedarf als Geräte-/Profileigentümer zu fungieren.
  • Die App kann optional Ressourcen wie Strings und Drawables, die für die Verwaltung von Geräterichtlinien verwendet werden, dynamisch aktualisieren.
  • Die App kann entweder eine vorinstallierte System-App sein oder vor der Bereitstellung heruntergeladen und installiert werden.
  • Bei Bereitstellungsanfragen für Profilinhaber muss die App des Rolleninhabers, wenn sie bei einem bestimmten Android-Nutzer installiert ist, in allen entsprechenden Profilen für diesen Nutzer installiert sein.
SYSTEM_APP_PROTECTION_SERVICE Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Der einzige Zweck der App besteht darin, potenziell schädliche Apps (Apps, die eine Gefahr für Nutzer, Nutzerdaten oder Geräte darstellen, z. B. Trojaner, Phishing- und Spyware-Apps) oder unerwünschte Software für Mobilgeräte zu erkennen.
  • Die App muss alle Anforderungen erfüllen, die im Abschnitt 9.8.6 des Android-CDD beschrieben sind. Betriebssystemdaten und Umgebungsdaten
  • Die App darf die normale Berechtigung android.permission.INTERNET nicht deklarieren. Stattdessen muss es über klar definierte APIs in einem Open-Source-Projekt auf das Internet zugreifen.
  • Die App darf nicht mit Apps verbunden werden, mit Ausnahme der folgenden System-Apps: Permission Controller und Komponenten, die Telephony- und Internet-APIs bereitstellen. Jede zulässige Bindung muss explizit über die <allow-association>-Konfiguration in der Systemkonfiguration eingerichtet werden.
  • Die App darf Daten nur dann an andere Apps weitergeben, wenn der Nutzer eine direkte Aktion ausführt, z. B. jedes Mal, wenn er eine Schaltfläche drückt.
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App muss Kalenderdaten vom iOS- oder Android-Smartphone des Nutzers auf das Android Auto-Gerät übertragen. Das Android Auto-Gerät muss diese Kalenderdaten beim Kalenderanbieter speichern.
  • Die App muss auf dem Smartphone eine UI-Komponente bereitstellen, mit der Nutzer die Kalendersynchronisierung aktivieren und die zu synchronisierenden Kalender auswählen können. Die App muss auf dem Smartphone eine UI-Komponente bereitstellen, über die der Nutzer die Kalendersynchronisierung deaktivieren kann.
  • Die App sollte auch ohne Internetverbindung funktionieren. Beispielsweise durch direkte kabelgebundene oder drahtlose Verbindungen.
AUTOMOTIVE_NAVIGATION Alle der folgenden Voraussetzungen:
  • Die App hat eine Aktivität, die andere Apps über implizite Intent-Anfragen aufrufen können. Dabei werden der aktuelle Standort und die Umgebung des Nutzers angezeigt.
  • Die App hat eine Aktivität, die andere Apps über implizite Intent-Anfragen aufrufen können, damit Nutzer zu einem bestimmten geografischen Standort navigieren können.
  • Die App hat eine Aktivität, die im Kombiinstrument gestartet wird, wenn die App den Navigationsfokus hat. Die Aktivität muss den aktuellen Standort und die Umgebung des Nutzers anzeigen und es ihm ermöglichen, zu einem bestimmten geografischen Standort zu navigieren.
COMPANION_DEVICE_COMPUTER Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Nutzer können Benachrichtigungen spiegeln und auf Fotos und Medien auf dem Smartphone über einen verbundenen Computer zugreifen.
SYSTEM_SETTINGS_INTELLIGENCE Mindestens eines der folgenden Elemente:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Bietet einen Dienst, der intelligente Funktionen für die Einstellungen-App bereitstellt, z. B. Vorschläge und Suchfunktionen.
NOTES Alle der folgenden Voraussetzungen:
COMPANION_DEVICE_GLASSES Die App kann Anfragen senden, um mit einem Brillengerät verknüpft und verwaltet zu werden (mithilfe der API, die von der Klasse CompanionDeviceManager bereitgestellt wird). Wenn die Smartwatch und die App über die von CDM bereitgestellte Benutzeroberfläche verbunden sind, können Nutzer ihre Smartwatch verwalten, indem sie ihr Zugriff auf Kontakte und Berechtigungen zum Verwalten von Benachrichtigungen und Telefonanrufen gewähren.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING Alle der folgenden Voraussetzungen:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Zulässige Anwendungsfälle:
    • App-Streaming von einem Android-Gerät wie einem Smartphone oder Tablet auf ein Fahrzeug.
    • App-Streaming von einem Android-Gerät wie einem Smartphone oder Tablet auf ein XR-Gerät
  • Beim Herstellen der ersten Verbindung von Gerät A zu Gerät B:
    • Die Kopplung MUSS durch einen einmaligen Code autorisiert werden, der auf dem Quellgerät (A) angezeigt und auf dem verbundenen Gerät (B) eingegeben wird. Alternativ kann der Nutzer die Kopplung bestätigen, indem er das Kontopasswort auf dem verbundenen Gerät eingibt, wenn beide Geräte mindestens ein übereinstimmendes Konto im Android AccountManager haben (B).
    • Beide Geräte müssen sich während des Koppelns in der Nähe 1 voneinander befinden.
  • Beide Geräte müssen sich während des Streamings in der Nähe voneinander befinden 1.
  • Die App kann Kommunikationskanäle mit verbundenen Geräten erstellen und verwalten, damit die Geräte Daten austauschen können. Die App und die verbundenen Geräte MÜSSEN sich gegenseitig authentifizieren (z. B. durch Nachweis des Wissens über freigegebene Schlüssel), um diese Kommunikationskanäle zu erstellen. Die Kommunikationskanäle MÜSSEN mit Ende-zu-Ende-Verschlüsselung geschützt sein.
  • Die App kann Benachrichtigungen vom Quellgerät (A) an das verbundene Gerät (B) senden, damit der Nutzer auf dem verbundenen Gerät (B) Aktionen auf die Benachrichtigungen ausführen kann.
  • Sie müssen die für das App-Streaming erforderlichen Metadaten an das verbundene Gerät (B) streamen können, z. B. die Liste der auf dem Quellgerät (A) verfügbaren Apps.
  • Apps vom Quellgerät (A) auf das verbundene Gerät (B) streamen können, nachdem der Nutzer seine Einwilligung dazu erteilt hat (entweder auf dem Quellgerät (A) oder auf dem verbundenen Gerät (B)).
  • Ereignisse, die in einer gestreamten App auf dem verbundenen Gerät (B) auftreten, können auf dem Quellgerät (A) noch einmal abgespielt (eingefügt) werden. Beispiel: Ein Touch-Ereignis wird auf dem verbundenen Gerät (B) an denselben Koordinaten wie auf dem Quellgerät (A) wiedergegeben oder ein Eingabeereignis, das auf dem verbundenen Gerät (B) aufgetreten ist, wird mit derselben Eingabesemantik wie auf dem Quellgerät (A) wiedergegeben.
  • Die App kann den Mikrofonstream des Quellgeräts durch den Mikrofonstream eines verbundenen Geräts ersetzen, während eine gestreamte App das Mikrofon verwendet.
  • Die App nimmt Audio vom Quellgerät (A) auf und streamt es an das verbundene Gerät (B).
  • Es wird EMPFOHLEN, den Zugriff auf Einstellungen und App-Shops vom verbundenen Gerät (B) aus zu blockieren.
  • Ab Android 25Q2 müssen Screenshots und das Lesen des Displays sensibler Inhalte wie sichere Fenster und Oberflächen auf dem verbundenen Gerät verhindert werden (B).
  • Die Integrität des Betriebssystems des verbundenen Geräts MUSS überprüft werden (z. B. durch Geräteattestierung wie in VerifiedBootState).
  • Streame nur Apps, für die es nur ein übereinstimmendes Konto in der On-Device-Kontoregistrierung gibt (z. B. die Klasse AccountManager auf Android-Geräten) auf beiden Geräten. Andernfalls MUSS das Streaming mit einem Einmalcode autorisiert werden, der auf dem Quellgerät (A) angezeigt und auf dem verbundenen Gerät (B) eingegeben wird. Bei Geräten, die mehrere Nutzer (und keine mehrere Konten) mit derselben zuverlässigen Datenisolierung wie bei Android-Mehrere-Nutzer-Konten unterstützen, wird ein Nutzer als Gerät gezählt.
  • MÜSSEN das Streaming beenden und die Verbindung zum verbundenen Gerät (B) sofort trennen, wenn die Authentifizierung des Kontos auf dem verbundenen Gerät (B) abläuft oder widerrufen wird.
  • MUSS das Streaming beenden und die Verbindung zum verbundenen Gerät (B) trennen, wenn die Inaktivitätsdauer des verbundenen Geräts (B), auf dem die Displayinhalte zu sehen sind, abgelaufen ist. KANN das Display des verbundenen Geräts eingeschaltet lassen, z. B. durch WakeLock, wodurch das Display des Android-Geräts eingeschaltet bleibt. Ein Zeitlimit für den Inaktivitätszeitraum MUSS vorhanden sein. Wenn das verbundene Gerät (B) kein eigenes Inaktivitäts-Timeout hat, MUSS ein Inaktivitäts-Timeout von maximal 5 Minuten verwendet werden.
  • Wenn das Quellgerät (A) den Sperrbildschirm-Wissensfaktor (LSKF) verwendet, darf die App bei gesperrtem Display keine Apps auf ein verbundenes Gerät (B) streamen, es sei denn, das verbundene Gerät (B) hat einen Sperrbildschirm und ist entsperrt.
  • Wenn das Quellgerät (A) von einem Administrator verwaltet wird, MUSS die App die vom Administrator festgelegten Richtlinien zum Aktivieren oder Deaktivieren des Streamings auf Geräte in der Nähe einhalten (z. B. mithilfe der DevicePolicyManager-Einstellungen unter Android).
  • Es MUSS sichergestellt sein, dass die Remote-Displays und alle Quellen von Remote-Eingabeereignissen aus Sicht des Nutzers zum selben logischen Gerät gehören (z. B. ein Remote-Display und eine angeschlossene Tastatur) und dass die Ereignisse entsprechend weitergeleitet werden.
  • Der Nutzer MUSS das Streaming vom Quellgerät (A) beenden können, z. B. über eine Schaltfläche in einer dauerhaften Benachrichtigung. Dieses Verhalten wird vom Sperrbildschirm gesteuert, wenn auf dem Quellgerät (A) eine Displaysperre eingerichtet ist. Diese dauerhafte Aufforderung muss auf dem Quellgerät (A) immer sichtbar und „above the fold“ sein.
  • Es MUSS eine Aufforderung auf dem Quellgerät (A) angezeigt werden, wenn das Streaming auf einem anderen Gerät erfolgt, z. B. ein Symbol in der Statusleiste oder eine dauerhafte Benachrichtigung.
WALLET Eine der folgenden Möglichkeiten:
  • Die App hat einen NFC-APDU-Dienst, der mindestens eine AID in der Kategorie „PAYMENT“ statisch registriert.
  • Die App implementiert eine Instanz von QuickAccessWalletService.

1 Die Nähe wird dadurch definiert, dass sich die beiden Geräte in Bluetooth- oder WLAN-Reichweite voneinander befinden oder dasselbe lokale Netzwerk verwenden.