ASSISTANT |
Mindestens eines der folgenden Elemente:
- Die App hat eine Aktivität, die Assistenzaktionen ausführt, wenn Informationen zum Kontext des Nutzers vorliegen, als er die Assistenz angefordert hat (z. B. der Paketname für die aktuelle App im Vordergrund und ihre Kontextinformationen).
- Die App hat einen Always-On-Sprachinteraktionsdienst, der durch die Berechtigung
android.permission.BIND_VOICE_INTERACTION geschützt ist. Dieser Dienst kann Spracherkennung durchführen und aktive Sprachinteraktionssitzungen hosten.
Außerdem hat die App ein explizites Flag, das angibt, dass der Dienst die Assist-Aktion verarbeiten kann.
|
BROWSER |
Alle der Folgenden:
- Die App hat eine Aktivität, die andere Apps über implizite Intent-Anfragen aufrufen können. Dadurch wird eine Webseite angezeigt, die einer
http://-Adresse entspricht.
- Die App muss die Navigation zwischen Links verarbeiten. Das heißt, wenn der Nutzer eine Webseite aufruft und auf eine
http://-Adresse im Text klickt, muss die App den Inhalt des ausgewählten Links ohne zusätzliche Nutzerinteraktion anzeigen können.
- Die App muss in der Lage sein, Webseiten die aktuellen Standortinformationen des Geräts bereitzustellen, wenn diese angefordert werden und der Nutzer die Anfrage genehmigt.
|
DIALER |
Alle der Folgenden:
- Die App hat eine Aktivität, die Apps über implizite Intent-Anfragen aufrufen können. Diese Aktivität stellt die Benutzeroberfläche für Anrufe bereit, während das Gerät in einem Anruf ist.
- Die App kann Intents für eingehende Anrufe verarbeiten, dem Nutzer die Informationen zum Anruf (z. B. die Telefonnummer des Anrufers) anzeigen und ihm die Möglichkeit geben, den Anruf anzunehmen oder abzulehnen.
- Die App bietet dem Nutzer die Möglichkeit, Anrufe zu starten und eine Anrufliste auf seinem Gerät aufzurufen.
|
SMS |
Alle der Folgenden:
- Die App erfüllt alle Anforderungen für SMS-Apps.
- Die App hat eine Aktivität, die 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 geschützt ist und über implizite Intents aufgerufen werden kann. Diese können Nachrichten von der Telefon App übermitteln, wenn der Nutzer bei einem eingehenden Anruf die Option „Per Nachricht antworten“ auswählt. Die App kann Nachrichten über ihr eigenes Nachrichtensystem senden.
- Die App hat zwei Übertragungsempfänger, einen mit der Berechtigung
android.permission.BROADCAST_SMS und einen mit der Berechtigung android.permission.BROADCAST_WAP_PUSH, die auf textbasierte SMS- bzw. MMS-Nachrichten warten können, die an das Gerät gesendet werden. Die App ist dann dafür verantwortlich, die Nachrichten an den SMS-Anbieter zu schreiben und die Nutzer zu benachrichtigen.
|
EMERGENCY |
Alle der Folgenden:
- Die App ist eine System-App.
- Die App hat eine Aktivität, die die Notfallinformationen des Nutzers anzeigt.
Jeder kann diesen Bildschirm über die Notruf-Schaltfläche in der Notruf-Aktivität aufrufen.
|
HOME |
Die App hat eine Aktivität, die den Startbildschirm starten kann, wenn der Nutzer den Home-Button drückt. Auf dem Startbildschirm sollten App-Symbole und Widgets angezeigt werden und die Navigation über Schaltflächen oder Gesten (z. B. nach oben wischen, um alle Apps zu sehen) sollte unterstützt werden.
|
CALL_REDIRECTION |
Die App hat einen Dienst, der durch die Berechtigung android.permission.BIND_CALL_REDIRECTION_SERVICE geschützt ist und 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:
- Der Anruf wird wie gewünscht getätigt.
- Ändern Sie die ausgehende Nummer, um sie über eine Proxynummer weiterzuleiten.
- Anruf abbrechen.
|
CALL_SCREENING |
Die App hat einen Dienst, der durch die Berechtigung android.permission.BIND_SCREENING_SERVICE geschützt 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 je nach „Bitte nicht stören“-Modus oder Lautstärke möglicherweise klingeln) und welche lautlos an die Mailbox gesendet werden sollen.
- Anruferkennung: Der Dienst kann Informationen zu einem Anruf über eine Benutzeroberfläche identifizieren und anzeigen.
|
SUPERVISION |
Alle der Folgenden:
- Die App ist eine System-App oder ein vorinstallierter Dienst.
- Nur OEMs können der App diese Rolle zuweisen.
- Der einzige Zweck der App besteht darin, Eltern oder Erziehungsberechtigten die Verwaltung des Geräts zu ermöglichen.
- Die App muss auf dem Gerät eine UI-Komponente bereitstellen, über die der autorisierte Nutzer die Elternaufsicht deaktivieren kann.
|
SYSTEM_GALLERY |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App bietet eine Benutzeroberfläche, über die Nutzer ihre Videos und Bilder speichern, organisieren und anzeigen können.
|
SYSTEM_AUTOMOTIVE_CLUSTER |
Alle der Folgenden:
- Die App ist eine System-App für Automotive.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App bietet die Möglichkeit, ein Kombiinstrument (normalerweise neben dem Lenkrad) zu verwenden, damit Nutzer Telefonanrufe annehmen und auf Kontaktlisten und Anruflisten zugreifen können.
|
COMPANION_DEVICE_WATCH |
Die App kann Anfragen stellen, um mit einer Smartwatch verknüpft zu werden und diese zu verwalten (über die 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 Kalender sowie der Verwaltung von Benachrichtigungen und Telefonanrufen.
|
SYSTEM_AUTOMOTIVE_PROJECTION |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Mit der App kann das Smartphone-Display auf das Display im Fahrzeug projiziert werden. Damit können Fahrer über Eingabemechanismen im Fahrzeug, z. B. Touch, Lenkradsteuerung und Sprachbefehle, auf Apps auf Android-Smartphones zugreifen und diese steuern, einschließlich Musik, Navigation, Telefonanrufe und Suche.
|
SYSTEM_SHELL |
Alle der Folgenden:
- Die App ist eine System-App, der die UID
Process.SHELL_UID zugewiesen ist.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App bietet eine Oberfläche, die auf Befehlszeilenebene funktioniert, sodass Nutzer mit dem Android-Betriebssystem interagieren können. Beispiele: Anzeigen des Inhalts eines Ordners oder Starten von Apps. Shell-Befehle können programmatisch von Apps (sofern die erforderlichen Berechtigungen erteilt wurden) oder über das ADB-Tool ausgeführt werden.
|
SYSTEM_CONTACTS |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App bietet eine Benutzeroberfläche, über die Nutzer ihre Kontakte verwalten können, z. B. Kontakte ansehen, teilen, hinzufügen, entfernen oder suchen. Die App aktualisiert den Contacts Provider, wenn der Nutzer seine Kontakte in der App aktualisiert. Nutzer können ihre Kontakte auch über die App anrufen, ihnen eine E‑Mail oder eine Nachricht senden.
|
SYSTEM_SPEECH_RECOGNIZER |
Alle der Folgenden:
- 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 zur Spracherkennung empfängt, wird die Mikrofonnutzung der aufrufenden App korrekt zugeordnet und die Statistiken zur App-Nutzung werden entsprechend aktualisiert.
|
SYSTEM_WIFI_COEX_MANAGER |
Alle der Folgenden:
- 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 vermeiden sollte.
|
SYSTEM_WELLBEING |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App sollte Nutzern die Möglichkeit bieten, Ablenkungen zu reduzieren, und ihnen Statistiken zur Nutzung ihres Geräts zur Verfügung stellen (z. B. die Bildschirmzeit pro Woche).
|
SYSTEM_TELEVISION_NOTIFICATION_HANDLER |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App muss Nutzern auf TV-Geräten wichtige Benachrichtigungen anzeigen. Die App muss außerdem aktuelle aktive Benachrichtigungen anzeigen, wenn der Intent
android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (von SystemUI) gesendet wird.
|
SYSTEM_COMPANION_DEVICE_PROVIDER |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App muss Peripheriegeräte in der Nähe erkennen können. Sie muss eine Benutzeroberfläche haben, auf der der Nutzer bestätigen kann, dass ein bestimmtes Peripheriegerät mit einer App verknüpft und von ihr verwaltet werden soll. Wenn der Nutzer dies bestätigt, gewährt die verwaltende App der verknüpften App die Berechtigung, auf das Peripheriegerät zuzugreifen (z. B. auf seinen Namen, seine Adresse, seine Klasse und seinen Kopplungsstatus) und den Kopplungsvorgang zu starten.
|
SYSTEM_DOCUMENT_MANAGER |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App hat 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 Android CDD im Abschnitt 2.2.3. Software unter der Überschrift [3.2.3.1/H-0-1].
|
SYSTEM_ACTIVITY_RECOGNIZER |
Alle der Folgenden:
|
SYSTEM_UI |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App hat eine Benutzeroberfläche, über die Nutzer mit ihrem Smartphone interagieren können. Beispiele: Startbildschirm, Navigation, zuletzt verwendete Apps, Schnelleinstellungen, Benachrichtigungsleiste, Sperrbildschirm, Lautstärkeregelung.
|
SYSTEM_TELEVISION_REMOTE_SERVICE |
Alle der Folgenden:
- Die App ist eine System-App auf Android TV.
- Nur OEMs können der App diese Rolle zuweisen.
- Die App hat einen Dienst, der mit dem HID-Gerät der TV-Fernbedienung kommunizieren kann (z. B. über BLE), Ereignisse einfügen kann (z. B. Tastenklicks) und andere Daten (z. B. Audiostream von einem in die Fernbedienung integrierten Mikrofon) an die Plattform senden kann.
|
SYSTEM_UI_INTELLIGENCE |
Alle der Folgenden:
- Ein vorinstallierter Dienst, der über Framework-APIs (öffentliche oder System-APIs) einen intelligenten Prozessor auf dem Gerät für System-UI-Funktionen bereitstellt, z. B. um die nächsten Apps für die Nutzer vorherzusagen und anzuzeigen.
- Der Dienst muss alle Anforderungen erfüllen, die im Android CDD-Abschnitt 9.8.6 Content Capture 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 an Apps gebunden 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 mit Apps teilen, wenn eine direkte Nutzeraktion erfolgt, z. B. wenn der Nutzer jedes Mal, wenn die Daten geteilt werden, explizit auf eine Schaltfläche klickt.
|
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE |
Alle der Folgenden:
- Identisch mit den Bedingungen für
SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten Prozessor auf dem Gerät für Umgebungsgeräusche bereitstellt (z. B. zum Erkennen von Songs, die in der Nähe des Geräts abgespielt werden).
|
SYSTEM_AUDIO_INTELLIGENCE |
Alle der Folgenden:
- Identisch mit den Bedingungen für
SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten Prozessor auf dem Gerät für Audio bereitstellt (z. B. Untertitel für Videos, Podcasts, Telefonanrufe, Videoanrufe und Sprachnachrichten).
|
SYSTEM_NOTIFICATION_INTELLIGENCE |
Alle der Folgenden:
- Identisch mit den Bedingungen für
SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten Prozessor auf dem Gerät für Benachrichtigungen bereitstellt (z. B. Vorschläge für Antworten und Aktionen für Nachrichtenbenachrichtigungen).
|
SYSTEM_TEXT_INTELLIGENCE |
Alle der Folgenden:
- Identisch mit den Bedingungen für
SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten Prozessor auf dem Gerät für Text bereitstellt (z. B. für Live-Übersetzung oder Autofill).
|
SYSTEM_VISUAL_INTELLIGENCE |
Alle der Folgenden:
- Identisch mit den Bedingungen für
SYSTEM_UI_INTELLIGENCE, mit der Ausnahme, dass der vorinstallierte Dienst einen intelligenten Prozessor auf dem Gerät für visuelle Funktionen bereitstellt, der Kameradaten analysiert. Beispielsweise kann das Display des Smartphones eingeschaltet bleiben, während der Nutzer es ansieht, oder die ideale Bildschirmausrichtung kann anhand der Gesichtsausrichtung des Nutzers über die Frontkamera des Geräts bestimmt werden.
|
COMPANION_DEVICE_APP_STREAMING |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Zulässige Anwendungsfälle:
- Streaming, Übertragung oder Spiegelung von Apps, die Streaming, Übertragung oder Spiegelung 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 Einmalcode autorisiert werden, der auf dem Quellgerät (A) angezeigt und auf dem verbundenen Gerät (B) eingegeben wird.
Wenn beide Geräte mindestens ein übereinstimmendes Konto in ihrem Android AccountManager haben, KANN der Nutzer die Kopplung alternativ bestätigen, indem er das Kontopasswort auf dem verbundenen Gerät (B) eingibt.
- Beide Geräte müssen sich während der Kopplung in der Nähe
1 voneinander befinden.
- Beide Geräte müssen sich während des Streamings in der Nähe
1 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 Nachweis ihrer Kenntnis von gemeinsamen Schlüsseln), um diese Kommunikationskanäle einzurichten. Die Kommunikationskanäle MÜSSEN durch eine 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) auf die Benachrichtigungen reagieren kann.
- 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, auf dem Quellgerät (A) wiedergeben (einfügen) können. Beispielsweise kann ein Touch-Event auf dem verbundenen Gerät (B) mit denselben Koordinaten wie auf dem Quellgerät (A) wiedergegeben werden oder ein Eingabeereignis, das auf dem verbundenen Gerät (B) aufgetreten ist, mit derselben Eingabesemantik wie auf dem Quellgerät (A).
- 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-Apps und App-Shops über das verbundene Gerät (B) zu blockieren.
- Ab Android 16 MUSS das Erstellen von Screenshots und das Auslesen von sensiblen Inhalten wie
sicheren Fenstern und Oberflächen auf dem verbundenen Gerät (B) verhindert werden.
- MÜSSEN die Integrität des Betriebssystem-Builds des verbundenen Geräts prüfen (z. B. mithilfe der Geräteattestierung wie in
VerifiedBootState).
- Streamen Sie nur Streaming-Apps, bei denen es auf beiden Geräten nur ein übereinstimmendes Konto in der On-Device-Kontoregistrierung gibt (z. B. die Klasse
AccountManager unter Android). Wenn dies nicht der Fall ist, 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 nicht mehrere Konten) mit derselben zuverlässigen Datenisolation wie bei Android-Mehrbenutzer unterstützen, zählt ein Nutzer als ein Gerät.
- MUSS das Streaming sofort beenden und die Verbindung zum verbundenen Gerät (B) trennen, wenn die Authentifizierung des Kontos auf dem verbundenen Gerät (B) abläuft oder widerrufen wird.
- MÜSSEN das Streaming beenden und die Verbindung zum verbundenen Gerät (B) trennen, wenn das verbundene Gerät (B), auf dem der Displayinhalt sichtbar ist, in den Ruhemodus wechselt. KÖNNEN das Display des verbundenen Geräts in Fällen wie WakeLock, bei denen das Display des Android-Geräts eingeschaltet bleibt, eingeschaltet lassen. Ein Zeitlimit für Inaktivität MUSS vorhanden sein. Wenn das verbundene Gerät (B) kein eigenes Zeitlimit für Inaktivität hat, MUSS ein Zeitlimit für Inaktivität von maximal 5 Minuten verwendet werden.
- Wenn das Quellgerät (A) die Displaysperre (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 beachten (z. B. über die
DevicePolicyManager-Einstellungen in Android).
- MÜSSEN sicherstellen, 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 verbundene Tastatur) und 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 durch den Sperrbildschirm gesteuert, wenn auf dem Quellgerät (A) eine Displaysperre eingerichtet ist. MÜSSEN diese dauerhafte Funktion auf dem Quellgerät (A) anzeigen, die immer sichtbar und „above the fold“ ist.
- MÜSSEN auf dem Quellgerät (A) eine entsprechende Anzeige einblenden, 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:
- Nur OEMs können der App diese Rolle zuweisen. Apps können diese Rolle nicht anfordern, da sie dem vom OEM definierten Paketnamen bei der Auslieferung des Geräts standardmäßig zugewiesen werden soll.
- Die App muss in der Lage sein, ein verwaltetes Profil (Profilinhaber) oder ein verwaltetes Gerät (Geräteinhaber) bereitzustellen. Dazu gehört auch das Herunterladen und Installieren des entsprechenden Geräterichtlinien-Clients, um bei Bedarf Geräte-/Profilinhaber zu sein.
- 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 der Bereitstellung von Profilinhabern muss die App des Rolleninhabers, wenn sie für einen bestimmten Android-Nutzer installiert ist, auf allen anwendbaren Profilen für diesen Nutzer installiert sein.
|
SYSTEM_APP_PROTECTION_SERVICE |
Alle der Folgenden:
- 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 Android CDD, Abschnitt 9.8.6,
Daten auf Betriebssystemebene und Umgebungsdaten.
- Die App darf nicht die normale Berechtigung
android.permission.INTERNET deklarieren. Stattdessen muss sie über klar definierte APIs in einem Open-Source-Projekt auf das Internet zugreifen.
- Die App darf nicht an andere Apps gebunden werden, mit Ausnahme der folgenden System-Apps: 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 keine Daten an andere Apps weitergeben, es sei denn, es gibt eine direkte Nutzeraktion, z. B. wenn der Nutzer jedes Mal, wenn die Daten weitergegeben werden, explizit auf eine Schaltfläche tippt.
|
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER |
Alle der folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- 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 im Kalenderanbieter speichern.
- Die App muss auf dem Smartphone eine UI-Komponente bereitstellen, über die der Nutzer die Kalendersynchronisierung aktivieren und die zu synchronisierenden Kalender auswählen kann. Die App muss auf dem Smartphone eine UI-Komponente bereitstellen, über die der Nutzer die Kalendersynchronisierung deaktivieren kann.
- Die App sollte ohne Internetverbindung funktionieren. Beispielsweise durch direkte kabelgebundene oder kabellose Verbindungen.
|
AUTOMOTIVE_NAVIGATION |
Alle der folgenden:
- Die App hat eine Aktivität, die Apps über implizite Intent-Anfragen aufrufen können und die den aktuellen Standort und die Umgebung des Nutzers anzeigt.
- Die App hat eine Aktivität, die Apps über implizite Intent-Anfragen aufrufen können, damit der Nutzer zu einem bestimmten geografischen Standort navigieren kann.
- 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 ihm die Möglichkeit geben, zu einem bestimmten Standort zu navigieren.
|
COMPANION_DEVICE_COMPUTER |
Alle der folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Nutzer können Benachrichtigungen spiegeln und auf einem verbundenen Computer auf Fotos und Medien auf dem Smartphone zugreifen.
|
SYSTEM_SETTINGS_INTELLIGENCE |
Mindestens eines der folgenden Elemente:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- Hat einen Dienst, der intelligente Funktionen für die Einstellungen-App bereitstellt, z. B. Vorschläge und Suche.
|
NOTES |
Alle der Folgenden:
|
COMPANION_DEVICE_GLASSES |
Die App kann Anfragen stellen, um mit einer Datenbrille verknüpft zu werden und diese zu verwalten (über die API, die von der Klasse CompanionDeviceManager bereitgestellt wird). Wenn die Datenbrille und die App über die von CDM bereitgestellte Benutzeroberfläche verbunden sind, können Nutzer ihre Datenbrille verwalten, indem sie ihr Zugriff auf Kontakte und die Berechtigung zum Verwalten von Benachrichtigungen und Telefonanrufen gewähren.
|
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING |
Alle der Folgenden:
- Die App ist eine System-App.
- Nur OEMs können der App diese Rolle zuweisen.
- 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 Einmalcode autorisiert werden, der auf dem Quellgerät (A) angezeigt und auf dem verbundenen Gerät (B) eingegeben wird.
Wenn beide Geräte mindestens ein übereinstimmendes Konto in ihrem Android AccountManager haben, KANN der Nutzer die Kopplung alternativ bestätigen, indem er das Kontopasswort auf dem verbundenen Gerät (B) eingibt.
- Beide Geräte müssen sich während der Kopplung in der Nähe
1 voneinander befinden.
- Beide Geräte müssen sich während des Streamings in der Nähe
1 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 Nachweis ihrer Kenntnis von gemeinsamen Schlüsseln), um diese Kommunikationskanäle einzurichten. Die Kommunikationskanäle MÜSSEN durch eine 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) auf die Benachrichtigungen reagieren kann.
- 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, auf dem Quellgerät (A) wiedergeben (einfügen) können. Beispielsweise kann ein Touch-Event auf dem verbundenen Gerät (B) mit denselben Koordinaten wie auf dem Quellgerät (A) wiedergegeben werden oder ein Eingabeereignis, das auf dem verbundenen Gerät (B) aufgetreten ist, mit derselben Eingabesemantik wie auf dem Quellgerät (A).
- 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-Apps und App-Shops über das verbundene Gerät (B) zu blockieren.
- Ab Android 16 MUSS das Erstellen von Screenshots und das Auslesen von sensiblen Inhalten wie
sicheren Fenstern und Oberflächen auf dem verbundenen Gerät (B) verhindert werden.
- MÜSSEN die Integrität des Betriebssystem-Builds des verbundenen Geräts prüfen (z. B. mithilfe der Geräteattestierung wie in
VerifiedBootState).
- Streamen Sie nur Streaming-Apps, bei denen es auf beiden Geräten nur ein übereinstimmendes Konto in der On-Device-Kontoregistrierung gibt (z. B. die Klasse
AccountManager unter Android). Wenn dies nicht der Fall ist, 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 nicht mehrere Konten) mit derselben zuverlässigen Datenisolation wie bei Android-Mehrnutzer unterstützen, zählt ein Nutzer als ein Gerät.
- MUSS das Streaming sofort beenden und die Verbindung zum verbundenen Gerät (B) trennen, wenn die Authentifizierung des Kontos auf dem verbundenen Gerät (B) abläuft oder widerrufen wird.
- MÜSSEN das Streaming beenden und die Verbindung zum verbundenen Gerät (B) trennen, wenn das verbundene Gerät (B), auf dem der Displayinhalt sichtbar ist, in den Ruhemodus wechselt. KÖNNEN das Display des verbundenen Geräts in Fällen wie WakeLock, bei denen das Display des Android-Geräts eingeschaltet bleibt, eingeschaltet lassen. Ein Zeitlimit für Inaktivität MUSS vorhanden sein. Wenn das verbundene Gerät (B) kein eigenes Zeitlimit für Inaktivität hat, MUSS ein Zeitlimit für Inaktivität von maximal 5 Minuten verwendet werden.
- Wenn das Quellgerät (A) die Displaysperre (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 beachten (z. B. über die
DevicePolicyManager-Einstellungen in Android).
- MÜSSEN sicherstellen, 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 verbundene Tastatur) und 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 durch den Sperrbildschirm gesteuert, wenn auf dem Quellgerät (A) eine Displaysperre eingerichtet ist. MÜSSEN diese dauerhafte Funktion auf dem Quellgerät (A) anzeigen, die immer sichtbar und „above the fold“ ist.
- MÜSSEN auf dem Quellgerät (A) eine entsprechende Anzeige einblenden, wenn das Streaming auf einem anderen Gerät erfolgt, z. B. ein Symbol in der Statusleiste oder eine dauerhafte Benachrichtigung.
|
WALLET |
Eins von: - Die App hat einen NFC-APDU-Dienst, der mindestens eine AID in der Kategorie PAYMENT statisch registriert.
- Die App implementiert eine Instanz von
QuickAccessWalletService.
|