Android-Rollen

Eine Rolle ist ein eindeutiger Name innerhalb des Systems, der bestimmten Berechtigungen und Privilegien zugeordnet ist. Apps können über die Android-API die Übernahme bestimmter Rollen anfordern, insbesondere durch Aufrufen von Methoden in der RoleManager Klasse.

In der folgenden Liste finden Sie verfügbare Rollen und ihre entsprechenden Anforderungen.

Rolle Anforderungen
ASSISTENT Mindestens einer von:
  • Die App verfügt über eine Aktivität, die unter Berücksichtigung der Informationen über den Kontext des Benutzers, als er die Unterstützung anforderte (z. B. den Paketnamen für die aktuelle Vordergrund-App und ihre Kontextinformationen), Hilfsaktionen ausführt.
  • Die App verfügt über einen ständig aktiven Sprachinteraktionsdienst, der durch die Berechtigung android.permission.BIND_VOICE_INTERACTION gesteuert wird und Spracherkennung durchführen und aktive Sprachinteraktionssitzungen hosten kann. Darüber hinaus verfügt die App über ein explizites Flag, das angibt, dass der Dienst in der Lage ist, die Hilfsaktion durchzuführen.
BROWSER Alle:
  • Die App verfügt über eine Aktivität, die Apps durch implizite Absichtsanfragen aufrufen können und die eine Webseite anzeigt, die einer http:// Adresse entspricht.
  • Die App muss die Navigation zwischen Links übernehmen. Das heißt, wenn der Benutzer eine Webseite anzeigt und auf eine http:// Adresse im Text klickt, muss die App in der Lage sein, den dem ausgewählten Link entsprechenden Inhalt ohne zusätzlichen Benutzereingriff anzuzeigen.
  • Die App muss in der Lage sein, Webseiten die aktuellen Geolokalisierungsinformationen des Geräts bereitzustellen, wenn diese angefordert werden und der Benutzer die Anforderung genehmigt.
DIALER Alle:
  • Die App verfügt über eine Aktivität, die Apps über implizite Intent-Anfragen aufrufen können und die die Benutzeroberfläche für Anrufe bereitstellt, während das Gerät gerade telefoniert.
  • Die App kann eingehende Anrufabsichten verarbeiten, dem Benutzer die mit dem Anruf verbundenen Informationen (z. B. die Telefonnummer des Anrufers) anzeigen und es dem Benutzer ermöglichen, den Anruf anzunehmen oder abzulehnen.
  • Die App bietet dem Benutzer die Möglichkeit, Anrufe zu tätigen und den Anrufverlauf auf seinem Gerät anzuzeigen.
SMS Alle:
  • Die App erfüllt alle Anforderungen an SMS-Apps .
  • Die App verfügt über eine Aktivität, die Apps durch implizite Intent-Anfragen aufrufen können, die eine Nachricht an eine Telefonnummer senden können.
  • Die App verfügt über einen Dienst, der durch die Berechtigung android.permission.SEND_RESPOND_VIA_MESSAGE gesteuert wird und durch implizite Absichten aufgerufen werden kann, der von der Telefon-App empfangene Nachrichten übermitteln kann, wenn der Benutzer sich dafür entscheidet, während eines eingehenden Anrufs per Nachricht zu antworten. Die App kann Nachrichten über ihr eigenes Nachrichtensystem übermitteln.
  • Die App verfügt über zwei Broadcast-Empfänger, einen durch die Berechtigung android.permission.BROADCAST_SMS und einen durch die Berechtigung android.permission.BROADCAST_WAP_PUSH , die auf textbasierte SMS- und 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 Benutzer zu benachrichtigen.
NOTFALL Alle:
  • Die App ist eine System-App .
  • Die App verfügt über eine Aktivität, die dem Benutzer Notfallinformationen anzeigt. Jeder kann über die Schaltfläche „Notfall“ in der Aktivität „Notrufwähler“ zu diesem Bildschirm navigieren.
HEIM Die App verfügt über eine Aktivität, die den Startbildschirm starten kann, wenn der Benutzer die Home-Taste drückt. Der Startbildschirm sollte App-Symbole und Widgets anzeigen und die Navigation basierend auf Schaltflächen oder Gesten unterstützen (z. B. nach oben wischen, um alle Apps anzuzeigen).
CALL_REDIRECTION Die App verfügt über einen Dienst, der durch die Berechtigung android.permission.BIND_CALL_REDIRECTION_SERVICE gesteuert wird und an den sich das Telecom-Framework binden kann. Der Dienst empfängt die ausgehende Telefonnummer vom Telekommunikations-Framework und führt eine der folgenden Aktionen aus:
  • Lassen Sie zu, dass der Anruf unverändert getätigt wird.
  • Ändern Sie die ausgehende Nummer, um über eine Proxy-Nummer weiterzuleiten.
  • Brechen Sie den Anruf ab.
CALL_SCREENING Die App verfügt über einen Dienst, der durch die Berechtigung android.permission.BIND_SCREENING_SERVICE gesteuert wird und zwei Funktionen ausführt:
  1. Anrufblockierung/-überwachung: Der Dienst kann auswählen, welche Anrufe an die Dialer-App auf dem Telefon gesendet werden sollen (und bei gegebener DND/Lautstärke möglicherweise klingeln) und welche stillschweigend an die Voicemail gesendet werden sollen.
  2. Anrufidentifizierung: Der Dienst kann über eine Benutzeroberfläche Informationen zu einem Anruf identifizieren und anzeigen.
SYSTEM_GALLERY Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App bietet Benutzern eine Benutzeroberfläche zum Speichern, Organisieren und Anzeigen ihrer Videos und Bilder.
SYSTEM_AUTOMOTIVE_CLUSTER Alle:
  • Die App ist eine System-App für Automotive.
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App bietet Funktionen für ein Kfz-Cluster-Display (normalerweise neben dem Lenkrad), mit dem Benutzer Telefonanrufe entgegennehmen und auf Kontaktlisten und Anrufprotokolle zugreifen können.
COMPANION_DEVICE_WATCH Die App kann Anfragen stellen, um einem Überwachungsgerät zugeordnet zu werden und es zu verwalten (unter Verwendung der von der CompanionDeviceManager Klasse bereitgestellten API). Sobald die Uhr und die App über die von der App bereitgestellte Benutzeroberfläche verbunden sind, können Benutzer ihre Uhr ü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 der App diese Rolle zuweisen.
  • Die App ermöglicht die Projektion des Telefonbildschirms auf das Display im Fahrzeug. Es ermöglicht Fahrern den Zugriff auf und die Steuerung von Anwendungen auf Android-Telefonen, einschließlich Musik, Navigation, Telefonanrufen und Google-Suche, mithilfe von Eingabemechanismen am Fahrzeug, einschließlich Berührung, Lenkradsteuerung und Sprachbefehlen.
SYSTEM_SHELL Alle:
  • Bei der App handelt es sich um eine System-App , der die UID Process.SHELL_UID zugewiesen ist.
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App bietet eine Schnittstelle, die auf Befehlszeilenebene funktioniert, sodass Benutzer mit dem Android-Betriebssystem interagieren können. Beispielsweise den Inhalt eines Ordners anzeigen oder Apps starten. Shell-Befehle können programmgesteuert von Apps (sofern die erforderlichen Berechtigungen erteilt wurden) oder über das ADB-Tool ausgeführt werden.
SYSTEM_KONTAKTE Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App bietet Benutzern eine Benutzeroberfläche zum Verwalten ihrer Kontakte (z. B. Anzeigen, Teilen, Hinzufügen, Entfernen oder Suchen nach einem Kontakt). Die App aktualisiert den Kontaktanbieter, wenn der Benutzer seine Kontakte über die App aktualisiert. Benutzer können ihre Kontakte über die App auch anrufen, ihnen E-Mails oder Textnachrichten senden.
SYSTEM_SPEECH_RECOGNIZER Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App stellt einen Dienst bereit, der eine Spracherkennung durchführen kann.
  • Wenn die App Live-Mikrofonströme von einer anderen App zur Spracherkennung empfängt, ordnet sie die Mikrofonnutzung korrekt der aufrufenden App zu und aktualisiert die Betriebsstatistiken der Anwendung entsprechend.
SYSTEM_WIFI_COEX_MANAGER Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App verfügt über einen Dienst, der dynamisch eine Liste von WLAN-Kanälen erstellt, die das Gerät aufgrund von Mobilfunkstörungen nicht verwenden sollte.
SYSTEM_WOHLBEFINDEN Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App sollte den Benutzern Funktionen bieten, um Ablenkungen zu reduzieren und ihnen Statistiken darüber zu liefern, wie sie ihr Gerät nutzen (z. B. ihre Bildschirmzeit pro Woche).
SYSTEM_TELEVISION_NOTIFICATION_HANDLER Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App muss Benutzern auf TV-Geräten Heads-up-Benachrichtigungen anzeigen. Die App muss auch aktuelle aktive Benachrichtigungen anzeigen, wenn die Absicht android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL gesendet wird (von SystemUI).
SYSTEM_COMPANION_DEVICE_PROVIDER Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App muss in der Lage sein, Peripheriegeräte in ihrer Nähe zu erkennen. Es muss über eine Benutzeroberfläche verfügen, über die der Benutzer bestätigen kann, dass ein bestimmtes Peripheriegerät mit einer App verknüpft und von dieser verwaltet werden soll. Sobald der Benutzer bestätigt, erteilt die Verwaltungs-App der zugehörigen App die Berechtigung, auf das Peripheriegerät zuzugreifen (z. B. seinen Namen, seine Adresse, seine Klasse und seinen Verbindungsstatus), und sie kann den Verbindungsvorgang starten.
SYSTEM_DOCUMENT_MANAGER Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App verfügt über eine Aktivität, die es Benutzern ermöglicht, auf vorhandene Dokumente zuzugreifen und neue Dokumente auf dem Gerät zu erstellen.
  • Die App muss alle im Android CDD Abschnitt 2.2.3 aufgeführten Anforderungen erfüllen. Software unter der Überschrift [3.2.3.1/H-0-1] .
SYSTEM_ACTIVITY_RECOGNIZER Alle:
  • Die App ist eine System-App .
  • Die App verfügt über einen durch android.permission.ACTIVITY_RECOGNITION gesteuerten Dienst, der eine Aktivitätserkennung durchführen kann (z. B. Laufen oder Radfahren).
SYSTEM_UI Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App verfügt über eine Schnittstelle, über die Benutzer mit ihren Telefonen interagieren können. Zum Beispiel der Hauptbildschirm des Telefons, Navigation, aktuelle Anwendungen, 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. Tastenklicks) einspeisen und andere Daten senden kann (z. B. Audiostream von einem in die Fernbedienung integrierten Mikrofon). ) in die Plattform.
SYSTEM_UI_INTELLIGENCE Alle:
  • Hierbei handelt es sich um einen vorinstallierten Dienst, der über Framework-APIs (öffentliche oder System-APIs) einen intelligenten Prozessor auf dem Gerät für System-UI-Funktionen bereitstellt (z. B. Vorhersage und Anzeige der nächsten Apps für die Benutzer).
  • Der Dienst muss alle im Android CDD Abschnitt 9.8.6 Content Capture beschriebenen Anforderungen erfüllen.
  • Es kann nicht über die Berechtigung android.permission.INTERNET verfügen. Stattdessen muss es über klar definierte APIs in einem Open-Source-Projekt auf das Internet zugreifen.
  • Es 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.
  • Es können keine Daten mit Apps geteilt werden, es sei denn, es liegt eine direkte Benutzeraktion vor (z. B. drückt der Benutzer bei jeder Datenfreigabe explizit eine Taste).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Alle:
  • Identisch mit den Bedingungen für SYSTEM_UI_INTELLIGENCE , außer dass der vorinstallierte Dienst einen intelligenten Prozessor auf dem Gerät für Umgebungsgeräusche bereitstellt (z. B. Erkennung von Liedern, die in der Nähe des Geräts abgespielt werden).
SYSTEM_AUDIO_INTELLIGENCE Alle:
  • Identisch mit den Bedingungen für SYSTEM_UI_INTELLIGENCE , außer 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 Audionachrichten).
SYSTEM_NOTIFICATION_INTELLIGENCE Alle:
  • Identisch mit den Bedingungen für SYSTEM_UI_INTELLIGENCE , außer 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:
  • Identisch mit den Bedingungen für SYSTEM_UI_INTELLIGENCE , außer dass der vorinstallierte Dienst einen intelligenten Prozessor auf dem Gerät für Text bereitstellt (z. B. Bereitstellung von Live-Übersetzung oder automatischem Ausfüllen).
SYSTEM_VISUAL_INTELLIGENCE Alle:
  • Identisch mit den Bedingungen für SYSTEM_UI_INTELLIGENCE , außer dass der vorinstallierte Dienst einen intelligenten Prozessor auf dem Gerät für visuelle Funktionen bereitstellt, der die Analyse von Kameradaten umfasst. Halten Sie beispielsweise den Bildschirm des Telefons aktiv, während der Benutzer darauf schaut, oder bestimmen Sie die ideale Bildschirmausrichtung basierend auf der Gesichtsausrichtung des Benutzers über die Frontkamera des Geräts.
COMPANION_DEVICE_APP_STREAMING Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App kann Kommunikationskanäle mit angeschlossenen Geräten erstellen und verwalten, damit diese Daten austauschen können. Um diese Kommunikationskanäle einzurichten, müssen sich die App und die verbundenen Geräte gegenseitig erfolgreich authentifizieren (z. B. durch den Nachweis ihrer Kenntnis gemeinsamer Schlüssel). Die Kommunikationskanäle müssen über einen Verschlüsselungsschutz verfügen.
  • Die App kann Benachrichtigungen vom lokalen Gerät an das verbundene Gerät senden, damit der Benutzer auf die Benachrichtigungen auf dem verbundenen Gerät reagieren kann.
  • Sie können die für das App-Streaming erforderlichen Metadaten auf das verbundene Gerät streamen, beispielsweise die Liste der auf dem lokalen Gerät verfügbaren Anwendungen.
  • Sie können Anwendungen vom lokalen Gerät auf das verbundene Gerät streamen, nachdem der Benutzer seinen Wunsch mit ausdrücklicher Zustimmung dazu geäußert hat (entweder am Telefon oder auf dem verbundenen Gerät).
  • Sie können Ereignisse, die in einer gestreamten Anwendung auf einem verbundenen Gerät auftreten, wieder auf dem lokalen Gerät wiedergeben (injizieren). Zum Beispiel die Wiedergabe eines Berührungsereignisses auf dem Tablet an denselben Koordinaten auf dem Telefon.
  • 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 erfasst Audio vom Gerät 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 Betriebssystem-Builds des verbundenen Geräts muss überprüft werden (z. B. mithilfe der Gerätebescheinigung wie in VerifiedBootState ).
  • Streamen Sie nur Apps, bei denen es auf beiden Geräten nur ein übereinstimmendes Konto in der Kontoregistrierung auf dem Gerät gibt (z. B. den AccountManager auf Android). Ist dies nicht der Fall, muss das Streaming mit einem Einmalcode autorisiert werden, der auf dem Quellgerät angezeigt und auf dem angeschlossenen Gerät eingegeben wird. Beachten Sie, dass bei Geräten, die mehrere Benutzer (und nicht mehrere Konten) mit derselben garantierten Datenisolation wie bei Android-Mehrbenutzern unterstützen, ein Benutzer als Gerät zählt.
  • Das Streaming muss sofort gestoppt 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.
  • Vor und während des Streamings muss überprüft werden, ob sich ein verbundenes Gerät innerhalb der Bluetooth-Reichweite des lokalen Geräts befindet.
  • Laufende App-Streaming-Sitzungen müssen unterbrochen werden, wenn der Benutzer 5 Minuten lang nicht mit dem verbundenen Gerät interagiert (z. B. Tastatur, Touchscreen und Maus sind inaktiv). Video-Streaming-Apps sind von dieser Anforderung ausgenommen.
  • Wenn das Quellgerät Lockscreen Knowledge Factor (LSKF) verwendet, darf die App bei gesperrtem Bildschirm keine Anwendungen auf ein verbundenes Gerät streamen, es sei denn, dieses Gerät verfügt über 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. mithilfe der DevicePolicyManager-Einstellungen in Android).
  • Es muss sichergestellt werden, dass die Remote-Anzeige und alle Quellen von Remote-Eingabeereignissen aus Benutzersicht zum selben logischen Gerät gehören (z. B. eine Remote-Anzeige und eine angeschlossene Tastatur) und Ereignisse entsprechend weitergeleitet werden.
  • Der Benutzer muss in der Lage sein, das Streaming vom lokalen Gerät zu beenden, indem er beispielsweise eine Schaltfläche in einer dauerhaften Benachrichtigung verwendet. Dieses Verhalten wird durch den Sperrbildschirm blockiert, wenn auf dem Telefon eine Bildschirmsperre eingestellt ist.
  • Wenn das Streaming auf einem anderen Gerät stattfindet, muss auf dem Quellgerät ein Angebot angezeigt werden, z. B. ein Symbol in der Statusleiste oder eine dauerhafte Benachrichtigung.
DEVICE_POLICY_MANAGEMENT Alle:
  • Nur OEMs können der App diese Rolle zuweisen. Anwendungen können diese Rolle nicht anfordern, da sie standardmäßig dem Paketnamen zugewiesen werden soll, der vom OEM bei der Auslieferung des Geräts definiert wird.
  • Die App muss in der Lage sein, ein verwaltetes Profil (Profileigentümer) oder ein verwaltetes Gerät (Geräteeigentümer) bereitzustellen, einschließlich des Herunterladens/Installierens des entsprechenden Device Policy Clients, um bei Bedarf der Geräte-/Profileigentümer zu sein.
  • Die App kann optional Ressourcen wie Zeichenfolgen und Drawables, die für die Geräterichtlinienverwaltung verwendet werden, dynamisch aktualisieren.
  • Die App kann entweder eine vorinstallierte System-App sein oder vor der Bereitstellung heruntergeladen und installiert werden.
  • Wenn bei der Bereitstellung von Profilbesitzern die Rolleninhaber-App auf einem bestimmten Android-Benutzer installiert wird, muss sie auf allen anwendbaren Profilen für diesen Benutzer installiert werden.
SYSTEM_APP_PROTECTION_SERVICE Alle:
  • Die App ist eine System-App .
  • Der einzige Zweck der App besteht darin, potenziell schädliche Apps (Apps, die Benutzer, Benutzerdaten oder Geräte gefährden könnten, wie z. B. Trojaner, Phishing- und Spyware-Apps) oder unerwünschte mobile Software zu erkennen.
  • Die App muss alle im Android CDD Abschnitt 9.8.6 Content Capture beschriebenen Anforderungen erfüllen.
  • Es darf nicht die normale Berechtigung android.permission.INTERNET deklarieren. Stattdessen muss es über klar definierte APIs in einem Open-Source-Projekt auf das Internet zugreifen.
  • Es darf nicht an Apps gebunden werden, mit Ausnahme der folgenden System-Apps: Permission Controller und Komponenten, die Internet-APIs bereitstellen. Jede zulässige Bindung muss explizit über die <allow-association> -Konfiguration in der Systemkonfiguration eingerichtet werden.
  • Es darf keine Daten mit Apps teilen, es sei denn, es liegt eine direkte Benutzeraktion vor (z. B. drückt der Benutzer bei jeder Datenfreigabe explizit eine Taste).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Kalenderdaten müssen vom iOS- oder Android-Telefon des Benutzers auf das Android Auto-Gerät übertragen werden. Das Android Auto-Gerät muss diese Kalenderdaten im Kalenderanbieter speichern.
  • Die App muss eine UI-Komponente auf dem Telefon bereitstellen, mit der der Benutzer die Kalendersynchronisierung aktivieren und die zu synchronisierenden Kalender auswählen kann. Die App muss eine UI-Komponente auf dem Telefon bereitstellen, mit der der Benutzer die Kalendersynchronisierung deaktivieren kann.
  • Sollte ohne Internetverbindung funktionieren. Zum Beispiel durch die Verwendung direkter kabelgebundener oder kabelloser Verbindungen.
AUTOMOTIVE_NAVIGATION Alle:
  • Die App verfügt über eine Aktivität, die Apps durch implizite Absichtsanfragen aufrufen können und die den aktuellen Standort und die Umgebung des Benutzers anzeigt.
  • Die App verfügt über eine Aktivität, die Apps durch implizite Intent-Anfragen aufrufen können, die es dem Benutzer ermöglicht, zu einem bestimmten geografischen Standort zu navigieren.
  • Verfügt über eine Aktivität, die auf dem Kombiinstrument gestartet wird, wenn die App den Navigationsfokus hält. Die Aktivität muss den aktuellen Standort und die Umgebung des Benutzers anzeigen und ihm die Navigation zu einem bestimmten geografischen Standort ermöglichen.
COMPANION_DEVICE_COMPUTER Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Ermöglichen Sie Benutzern das Spiegeln von Benachrichtigungen und den Zugriff auf Fotos und Medien vom Telefon auf einem angeschlossenen Computer.
SYSTEM_SETTINGS_INTELLIGENCE Mindestens einer von:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Verfügt über einen Dienst, der Intelligenzfunktionen für die Einstellungen-App bereitstellt, z. B. Vorschläge und Suche.
ANMERKUNGEN Alle:
  • Die App verfügt über eine Aktivität, die Apps durch implizite Intent-Anfragen aufrufen können. Die Aktivität ermöglicht es einem Benutzer, eine Notiz zu erstellen, unabhängig davon, ob der Bildschirm gesperrt oder entsperrt ist.
  • Die App muss dies unterstützen, indem sie über eine Aktivität verfügt, die über einen Absichtsfilter für android.intent.action.CREATE_NOTE mit der Kategorie android.intent.category.DEFAULT verfügt. Die Aktivität muss auch die zusätzliche Absicht android.intent.extra.USE_STYLUS_MODE angemessen verarbeiten.
  • Für die App müssen beide Manifestattribute showWhenLocked und turnScreenOn auf true gesetzt sein.
COMPANION_DEVICE_GLASSES Die App kann Anfragen zur Verknüpfung mit einem Brillengerät und zur Verwaltung eines Brillengeräts stellen (unter Verwendung der von der CompanionDeviceManager Klasse bereitgestellten API). Sobald das Brillengerät und die App über die von CDM bereitgestellte Benutzeroberfläche verbunden sind, können Benutzer ihr Brillengerät verwalten, indem sie ihm Zugriff auf Kontakte und die Berechtigung zum Verwalten von Benachrichtigungen und Telefonanrufen gewähren.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING Alle:
  • Die App ist eine System-App .
  • Nur OEMs können der App diese Rolle zuweisen.
  • Die App kann Kommunikationskanäle mit angeschlossenen Geräten erstellen und verwalten, sodass die Geräte Daten austauschen können. Um diese Kommunikationskanäle einzurichten, müssen sich die App und die verbundenen Geräte gegenseitig erfolgreich authentifizieren (z. B. durch den Nachweis ihrer Kenntnis gemeinsamer Schlüssel). Die Kommunikationskanäle müssen über einen Verschlüsselungsschutz verfügen.
  • Die App kann Benachrichtigungen vom lokalen Gerät an das verbundene Gerät senden, damit der Benutzer auf die Benachrichtigungen auf dem verbundenen Gerät reagieren kann.
  • Sie können die für das App-Streaming erforderlichen Metadaten auf das verbundene Gerät streamen, beispielsweise die Liste der auf dem lokalen Gerät verfügbaren Anwendungen.
  • Sie können Anwendungen vom lokalen Gerät auf das verbundene Gerät streamen, nachdem der Benutzer seinen Wunsch mit ausdrücklicher Zustimmung dazu geäußert hat (entweder am Telefon oder auf dem verbundenen Gerät).
  • Sie können Ereignisse, die in einer gestreamten Anwendung auf einem verbundenen Gerät auftreten, wieder auf dem lokalen Gerät wiedergeben (injizieren). Zum Beispiel die Wiedergabe eines Berührungsereignisses auf dem Tablet mit denselben Koordinaten wie auf dem Telefon oder die Wiedergabe eines Eingabeereignisses, das auf der Brille aufgetreten ist, mit derselben Eingabesemantik wie auf dem Telefon.
  • 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 erfasst Audio vom Gerät und streamt es an das verbundene Gerät.
  • Die Integrität des Betriebssystem-Builds des verbundenen Geräts muss überprüft werden (z. B. mithilfe der Gerätebescheinigung wie in VerifiedBootState ).
  • Streamen Sie nur Apps, bei denen es auf beiden Geräten nur ein übereinstimmendes Konto in der Kontoregistrierung auf dem Gerät gibt (z. B. den AccountManager auf Android). Ist dies nicht der Fall, muss das Streaming mit einem Einmalcode autorisiert werden, der auf dem Quellgerät angezeigt und auf dem angeschlossenen Gerät eingegeben wird. Beachten Sie, dass bei Geräten, die mehrere Benutzer (und nicht mehrere Konten) mit derselben garantierten Datenisolation wie bei Android-Mehrbenutzern unterstützen, ein Benutzer als Gerät zählt.
  • Das Streaming muss sofort gestoppt 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 Lockscreen Knowledge Factor (LSKF) verwendet, darf die App bei gesperrtem Bildschirm keine Anwendungen auf ein verbundenes Gerät streamen, es sei denn, dieses Gerät verfügt über 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 respektieren (z. B. mithilfe der DevicePolicyManager-Einstellungen in Android).
  • Es muss sichergestellt werden, dass die Remote-Anzeige und alle Quellen von Remote-Eingabeereignissen aus Benutzersicht zum selben logischen Gerät gehören (z. B. eine Remote-Anzeige und eine angeschlossene Tastatur) und Ereignisse entsprechend weitergeleitet werden.
  • Der Benutzer muss in der Lage sein, das Streaming vom lokalen Gerät zu beenden, indem er beispielsweise eine Schaltfläche in einer dauerhaften Benachrichtigung verwendet. Dieses Verhalten wird durch den Sperrbildschirm blockiert, wenn auf dem Telefon eine Bildschirmsperre eingestellt ist.
  • Wenn das Streaming auf einem anderen Gerät stattfindet, muss auf dem Quellgerät ein Angebot angezeigt werden, z. B. ein Symbol in der Statusleiste oder eine dauerhafte Benachrichtigung.