Android-Rollen

Eine Rolle ist ein eindeutiger Name im System, der mit bestimmten Berechtigungen verknüpft ist. Anwendungen können bestimmte Rollen über die Android API anfordern, indem sie Methoden in der Klasse RoleManager aufrufen.

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. Darüber hinaus hat die App ein explizites Flag, das angibt, dass der Dienst die unterstützende Aktion verarbeiten kann.
BROWSER Alle:
  • Die Anwendung hat eine Aktivität, die sie über implizite Intent-Anfragen aufrufen kann. Dabei wird eine Webseite angezeigt, die einer http://-Adresse entspricht.
  • Die App muss die Navigation zwischen Links übernehmen. 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 die aktuellen Standortdaten des Geräts an Webseiten bereitstellen können, wenn sie angefordert wird und der Nutzer die Anfrage genehmigt.
DIALER Alle:
  • 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 Informationen im Zusammenhang mit dem Anruf anzeigen (z. B. die Telefonnummer des Anrufers) und den Nutzer den Anruf annehmen oder ablehnen lassen.
  • Die App bietet Nutzern die Möglichkeit, Anrufe zu starten und sich den Anrufverlauf auf ihrem Gerät anzusehen.
SMS Alle:
  • 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 warten, die an das Gerät gesendet werden. Die Anwendung ist dann dafür verantwortlich, die Nachrichten an den SMS-Anbieter zu schreiben und die Nutzer zu benachrichtigen.
EMERGENCY Alle:
  • Die App ist eine System-App.
  • Die App enthält eine Aktivität, in der die Notfallinformationen des Nutzers angezeigt werden. Jeder kann diesen Bildschirm über die Schaltfläche „Notfall“ in der Aktivität „Notruf“ aufrufen.
HOME Die App hat eine Aktivität, durch die der Startbildschirm gestartet werden kann, wenn der Nutzer die Startbildschirmtaste 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.
  • Sie können die ausgehende Nummer so ändern, dass sie über eine Proxynummer geleitet wird.
  • Brechen Sie den Anruf ab.
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:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App bietet Nutzern eine Benutzeroberfläche, mit der sie ihre Videos und Bilder speichern, organisieren und anzeigen können.
SYSTEM_AUTOMOTIVE_CLUSTER Alle:
  • Die App ist eine System-App in 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, einschließlich der Synchronisierung von Kontakten und Kalendern sowie der Verwaltung von Benachrichtigungen und Telefonanrufen.
SYSTEM_AUTOMOTIVE_PROJECTION Alle:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Über die App kann der Smartphone-Bildschirm auf das Fahrzeugdisplay projiziert werden. Fahrer können damit über Eingabemechanismen am Fahrzeug wie Touchbedienung, Lenkradsteuerung und Sprachbefehle auf Apps auf Android-Smartphones zugreifen und diese steuern, einschließlich Musik, Navigation, Telefonanrufen 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:
  • 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 (z. B. Kontakte ansehen, freigeben, hinzufügen, entfernen oder suchen können). 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:
  • Die App ist eine System-App.
  • Nur OEMs können der App diese Rolle zuweisen.
  • 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:
  • Die App ist eine System-App.
  • Nur OEMs können der App diese Rolle zuweisen.
  • 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:
  • 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:
  • 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 (von SystemUI) gesendet wird.
SYSTEM_COMPANION_DEVICE_PROVIDER Alle:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Die App muss Peripheriegeräte in der 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:
  • 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 im Android-CDD-Abschnitt 2.2.3. Software unter der Überschrift [3.2.3.1/H-0-1].
SYSTEM_ACTIVITY_RECOGNIZER Alle:
SYSTEM_UI Alle:
  • 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. Beispiele: Hauptbildschirm des Smartphones, Navigation, zuletzt verwendete Apps, Schnelleinstellungen, Benachrichtigungsleiste, Sperrbildschirm, Lautstärkeregelung.
SYSTEM_TELEVISION_REMOTE_SERVICE Alle:
  • Die App ist eine System-App auf Android TV.
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App verfügt über einen Dienst, der mit dem HID-Gerät der TV-Fernbedienung kommunizieren (z. B. über BLE), Ereignisse (z. B. Klicks auf Schaltflächen) einfügen und andere Daten (z. B. Audiostreams von einem in die Fernbedienung integrierten Mikrofon) an die Plattform senden kann.
SYSTEM_UI_INTELLIGENCE Alle:
  • Ein vorinstallierter Dienst, der über Framework-APIs (öffentliche oder System-APIs) einen intelligenten Prozessor für System-UI-Funktionen auf dem Gerät bietet (z. B. die Vorhersage und Anzeige der nächsten Apps für die Nutzer).
  • Der Dienst muss alle im Abschnitt 9.8.6 Erfassung von Inhalten der CDD für Android beschriebenen Anforderungen erfüllen.
  • Der Dienst darf nicht die Berechtigung android.permission.INTERNET haben. Stattdessen muss sie in einem Open-Source-Projekt über klar definierte APIs 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 Daten nur dann an Apps weitergeben, wenn eine direkte Nutzeraktion erfolgt (z. B. drückt der Nutzer jedes Mal explizit auf eine Schaltfläche, wenn die Daten weitergegeben werden).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Alle:
  • 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:
  • 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:
  • Entspricht den Bedingungen für SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten On-Device-Prozessor für Benachrichtigungen bereitstellt (z. B. Vorschläge für Antworten und Aktionen für Nachrichtenbenachrichtigungen).
SYSTEM_TEXT_INTELLIGENCE Alle:
  • 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:
  • 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 kannst du dafür sorgen, dass der Bildschirm des Smartphones aktiv bleibt, während der Nutzer darauf schaut, oder anhand der Gesichtsausrichtung des Nutzers anhand der Frontkamera des Geräts die ideale Bildschirmausrichtung ermitteln.
COMPANION_DEVICE_APP_STREAMING Alle:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Ab Android 15
    Beim Herstellen der ersten Verbindung von Gerät A zu Gerät B:
    Auf beiden Geräten MUSS mindestens ein übereinstimmendes Konto in AccountManager vorhanden sein und die Kopplung muss durch einen Einmalcode bestätigt werden.
    • Der Nutzer muss beim Koppeln der Geräte das Kontopasswort auf dem sekundären Remote-Gerät bestätigen oder
    • Der Einmalcode muss auf dem Quellgerät angezeigt und auf dem verbundenen Gerät eingegeben werden.
    • Beim Streaming ist kein Bereich erforderlich.

    Alternativ müssen sich Gerät A und Gerät B in Bluetooth-Reichweite voneinander befinden und das Streaming muss mit einem Einmalcode autorisiert werden.
    • Der Einmalcode wird auf dem Quellgerät angezeigt und auf dem verbundenen Gerät eingegeben.
    • Die Geräte müssen sich während des Streamings in Bluetooth-Reichweite zueinander befinden.
  • Die App kann Kommunikationskanäle mit verbundenen Geräten erstellen und verwalten, damit diese Daten austauschen können. Die App und die verbundenen Geräte müssen sich gegenseitig authentifizieren, z. B. durch das Nachweisen des Wissens über gemeinsame Schlüssel, um diese Kommunikationskanäle herzustellen. Die Kommunikationskanäle müssen einen Verschlüsselungsschutz haben.
  • Die App kann Benachrichtigungen vom lokalen Gerät an das verbundene Gerät senden, damit der Nutzer auf dem verbundenen Gerät Aktionen auf die Benachrichtigungen ausführen kann.
  • In der Lage sein, die für das App-Streaming erforderlichen Metadaten auf das verbundene Gerät zu streamen, z. B. die Liste der auf dem lokalen Gerät verfügbaren Apps.
  • Apps vom lokalen Gerät auf das verbundene Gerät streamen können, nachdem der Nutzer seine Einwilligung dazu gegeben hat (entweder auf dem Smartphone oder auf dem verbundenen Gerät).
  • Sie müssen in der Lage sein, Ereignisse, die in einer gestreamten App auf einem verbundenen Gerät auf dem lokalen Gerät auftreten, wieder wiederzugeben (injizieren). Beispiel: Ein Touch-Ereignis auf dem Tablet wird an denselben Koordinaten auf dem Smartphone wiedergegeben.
  • Die App kann den Mikrofonstream des lokalen Geräts durch den Mikrofonstream eines verbundenen Geräts ersetzen, während eine gestreamte App das Mikrofon verwendet.
  • Die App nimmt Audio vom Gerät auf und streamt es an das verbundene Gerät.
  • Der Kamerastream des lokalen Geräts muss blockiert werden, während eine gestreamte App die Kamera verwendet.
  • 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 unter Android) auf beiden Geräten. Andernfalls muss das Streaming mit einem Einmalcode autorisiert werden, der auf dem Quellgerät angezeigt und auf dem verbundenen Gerät eingegeben wird. Bei Geräten, die mehrere Nutzer (und keine mehrere Konten) mit derselben zuverlässigen Datenisolation unterstützen wie bei der Android-Mehrere-Nutzer-Funktion, wird ein Nutzer als Gerät gezählt.
  • Das Streaming muss sofort beendet und die Verbindung zu einem verbundenen Gerät getrennt werden, wenn die Authentifizierung des Kontos auf dem verbundenen Gerät abläuft oder widerrufen wird.
  • Laufende App-Streamingsitzungen müssen getrennt werden, wenn der Nutzer 5 Minuten lang nicht mit dem verbundenen Gerät interagiert (z. B. Tastatur, Touchscreen und Maus inaktiv sind). Videostreaming-Apps sind von dieser Anforderung ausgenommen.
  • Ab Android 15
    Bei einer Zeitüberschreitung bei Inaktivität des Remote-Geräts, auf dem die Displayinhalte sichtbar sind, müssen alle virtuellen Geräte getrennt werden. Das Display des Remote-Geräts bleibt möglicherweise eingeschaltet, z. B. bei WakeLock, wodurch das Display des Android-Geräts eingeschaltet bleibt. Es muss eine Zeitüberschreitung bei Inaktivität vorhanden sein. Wenn das Remotegerät kein eigenes Zeitlimit für die Inaktivität hat, muss ein Zeitlimit von maximal 5 Minuten verwendet werden.
  • Wenn das Quellgerät den Lockscreen Knowledge Factor (LSKF) verwendet, darf die App bei gesperrtem Display keine Apps auf ein verbundenes Gerät streamen, es sei denn, dieses Gerät hat einen Sperrbildschirm und ist entsperrt.
  • Wenn das Gerät von einem Administrator verwaltet wird, muss die App die vom Administrator festgelegten Richtlinien zum Aktivieren oder Deaktivieren des App-Streamings auf Geräte in der Nähe einhalten, z. B. über die DevicePolicyManager-Einstellungen in Android.
  • Das Remote-Display und alle Quellen von Remote-Eingabeereignissen müssen aus Sicht des Nutzers zum selben logischen Gerät gehören (z. B. ein Remote-Display und eine angeschlossene Tastatur) und die Ereignisse müssen entsprechend weitergeleitet werden.
  • Der Nutzer muss das Streaming vom lokalen Gerät beenden können, beispielsweise über eine Schaltfläche in einer dauerhaften Benachrichtigung. Dieses Verhalten wird durch den Sperrbildschirm gesteuert, wenn für das Smartphone eine Displaysperre eingerichtet ist. Ab Android 15 muss diese dauerhafte Aufforderung auf dem lokalen Gerät angezeigt werden, die immer sichtbar und im Blickfeld ist.
  • Es muss eine Aufforderung auf dem Quellgerät 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:
  • 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:
  • Die App ist eine System-App.
  • Die App dient nur dazu, potenziell schädliche Apps (Apps, die Nutzer, Nutzerdaten oder Geräte gefährden könnten, 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. Betriebssystemebene und Umgebungsdaten
  • Die App darf die normale Berechtigung android.permission.INTERNET nicht deklarieren. Stattdessen muss er über klar definierte APIs in einem Open-Source-Projekt auf das Internet zugreifen.
  • Die Anwendung darf mit Ausnahme der folgenden Systemanwendungen nicht an Anwendungen gebunden werden: Permission Controller und Komponenten, die Telefonie 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 Apps weitergeben, wenn eine direkte Nutzeraktion erfolgt (z. B. drückt der Nutzer jedes Mal explizit auf eine Schaltfläche, wenn die Daten weitergegeben werden).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Alle:
  • 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 Benutzeroberfläche bereitstellen, über die der Nutzer die Kalendersynchronisierung aktivieren und die zu synchronisierenden Kalender auswählen kann. Die App muss auf dem Smartphone eine Benutzeroberfläche bereitstellen, mit der Nutzer die Kalendersynchronisierung deaktivieren können.
  • Die App sollte auch ohne Internetverbindung funktionieren. Beispielsweise durch direkte kabelgebundene oder drahtlose Verbindungen.
AUTOMOTIVE_NAVIGATION Alle:
  • Die App hat eine Aktivität, die andere Apps über implizite Intent-Anfragen aufrufen können. Diese Aktivität zeigt den aktuellen Standort und die Umgebung des Nutzers an.
  • Die Anwendung hat eine Aktivität, die sie über implizite Intent-Anfragen aufrufen kann, wodurch der Nutzer zu einem bestimmten geografischen Standort navigieren kann.
  • Die App hat eine Aktivität, die auf dem Kombi-Instrument gestartet wird, wenn sie den Navigationsfokus hält. 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:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Nutzern erlauben, Benachrichtigungen zu spiegeln und auf einem verbundenen Computer über das Smartphone auf Fotos und Medien zuzugreifen.
SYSTEM_SETTINGS_INTELLIGENCE Mindestens eines der folgenden Elemente:
  • Die Anwendung ist eine Systemanwendung.
  • 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:
COMPANION_DEVICE_GLASSES Die App kann Anfragen senden, um mit einem Brillengerät verknüpft und verwaltet zu werden (über die 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:
  • Die App ist eine System-App.
  • Nur OEMs können diese Rolle der App gewähren.
  • Ab Android 15
    Beim Herstellen der ersten Verbindung von Gerät A zu Gerät B:
    Auf beiden Geräten MUSS mindestens ein übereinstimmendes Konto in AccountManager vorhanden sein und die Kopplung muss durch einen Einmalcode bestätigt werden.
    • Der Nutzer muss beim Koppeln der Geräte das Kontopasswort auf dem sekundären Remote-Gerät bestätigen oder
    • Der Einmalcode muss auf dem Quellgerät angezeigt und auf dem verbundenen Gerät eingegeben werden.
    • Beim Streaming ist kein Bereich erforderlich.

    Alternativ müssen sich Gerät A und Gerät B in Bluetooth-Reichweite voneinander befinden und das Streaming muss mit einem Einmalcode autorisiert werden.
    • Der Einmalcode wird auf dem Quellgerät angezeigt und auf dem verbundenen Gerät eingegeben.
    • Die Geräte müssen sich während des Streamings in Bluetooth-Reichweite voneinander befinden.
  • 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 das Nachweisen des Wissens über freigegebene Schlüssel, um diese Kommunikationskanäle herzustellen. Die Kommunikationskanäle müssen über Ende-zu-Ende-Verschlüsselungsschutz verfügen.
  • Die App kann Benachrichtigungen vom lokalen Gerät an das verbundene Gerät senden, damit der Nutzer auf dem verbundenen Gerät Aktionen auf die Benachrichtigungen ausführen kann.
  • In der Lage sein, die für das App-Streaming erforderlichen Metadaten auf das verbundene Gerät zu streamen, z. B. die Liste der auf dem lokalen Gerät verfügbaren Apps.
  • Apps vom lokalen Gerät auf das verbundene Gerät streamen können, nachdem der Nutzer seine Einwilligung dazu gegeben hat (entweder auf dem Smartphone oder auf dem verbundenen Gerät).
  • Ereignisse, die in einer gestreamten App auf einem verbundenen Gerät auftreten, können auf dem lokalen Gerät wiedergegeben (eingefügt) werden. Beispiel: Wiedergeben eines Touch-Ereignisses auf dem Tablet mit denselben Koordinaten wie auf dem Smartphone oder Wiederholung eines Eingabeereignisses, das auf dem Brillengerät aufgetreten ist, mit derselben Eingabesemantik wie auf dem Smartphone.
  • Die App kann den Mikrofonstream des lokalen Geräts durch den Mikrofonstream eines verbundenen Geräts ersetzen, während eine gestreamte App das Mikrofon verwendet.
  • Die App nimmt Audio vom Gerät auf und streamt es an das verbundene Gerät.
  • Die Integrität des Betriebssystems des verbundenen Geräts muss überprüft werden (z. B. durch Geräteattestierung wie in VerifiedBootState).
  • Auf beiden Geräten werden nur Apps gestreamt, für die nur ein übereinstimmendes Konto in der Kontoregistrierung auf dem Gerät vorhanden ist (z. B. die Klasse AccountManager unter Android). Andernfalls muss das Streaming mit einem Einmalcode autorisiert werden, der auf dem Quellgerät angezeigt und auf dem verbundenen Gerät eingegeben wird. Bei Geräten, die mehrere Nutzer (und keine mehrere Konten) mit derselben zuverlässigen Datenisolation unterstützen wie bei der Android-Mehrere-Nutzer-Funktion, wird ein Nutzer als Gerät gezählt.
  • Das Streaming muss sofort beendet und die Verbindung zu einem verbundenen Gerät getrennt werden, wenn die Authentifizierung des Kontos auf dem verbundenen Gerät abläuft oder widerrufen wird.
  • Wenn das Quellgerät LSKF verwendet, darf die App bei gesperrtem Display keine Apps auf ein verbundenes Gerät streamen, es sei denn, dieses Gerät hat einen Sperrbildschirm und ist entsperrt.
  • Wenn das Gerät 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. über die DevicePolicyManager-Einstellungen unter Android).
  • Das Remote-Display und alle Quellen von Remote-Eingabeereignissen müssen aus Sicht des Nutzers zum selben logischen Gerät gehören (z. B. ein Remote-Display und eine angeschlossene Tastatur) und die Ereignisse müssen entsprechend weitergeleitet werden.
  • Der Nutzer muss das Streaming vom lokalen Gerät aus beenden können, z. B. über eine Schaltfläche in einer dauerhaften Benachrichtigung. Dieses Verhalten wird vom Sperrbildschirm gesteuert, wenn auf dem Smartphone eine Displaysperre eingerichtet ist.
  • Es muss eine Aufforderung auf dem Quellgerät 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 Anwendung implementiert eine Instanz von QuickAccessWalletService.