Das in Android 12 eingeführte Profil für Companion-Geräte ist eine Funktion, mit der Companion-Apps eine Reihe von Berechtigungen anfordern können, die für den Typ des Companion-Geräts spezifisch sind, z. B. einer Smartwatch. Mit einem Companion-Geräteprofil wird der Registrierungsprozess vereinfacht, da Apps Nutzern auf ihren Mobilgeräten nur eine Aufforderung zur Beantragung einer bestimmten Gruppe von Berechtigungen anzeigen können, anstatt mehrere Aufforderungen, in denen Berechtigungen einzeln angefordert werden. Dies kann die Einrichtung vereinfachen und die Aktivierungsraten für Companion-Apps verbessern.
Damit Sie Profile für Companion-Geräte verwenden können, müssen Companion-Apps die folgenden Anforderungen erfüllen:
- Ein Companion-Gerät (z. B. eine Smartwatch) verwalten
- App-Funktionen haben oder Android APIs aufrufen, für die alle Berechtigungen erforderlich sind, die für das Profil des Companion-Geräts definiert sind.
Jedes Profil für ein Companion-Gerät entspricht einer Android-Rolle. Weitere Informationen zu den Berechtigungen und der entsprechenden Android-Rolle der einzelnen Profile finden Sie unter Profile für Companion-Geräte für Drittanbieter-Apps.
Weitere Informationen zu Companion-Geräten finden Sie unter Companion-Geräte koppeln.
Geräteverhalten
In diesem Abschnitt wird das Geräteverhalten beschrieben, wenn Profile für Companion-Geräte verwendet werden.
Wenn ein Nutzer die Anfrage einer App zur Verknüpfung mit einem Companion-Gerät akzeptiert, weist der CompanionDeviceManager
-Dienst (CDM) der Companion-App die Rolle „Geräteprofil“ (z. B. Smartwatch) zu und gewährt ihr alle für diese Profilrolle definierten Berechtigungen.
Abbildung 1 zeigt ein Beispiel für eine App, die Berechtigungen für das Geräteprofil COMPANION_DEVICE_WATCH
anfordert.
Abbildung 1: Dialogfeld, in dem Berechtigungen für das Smartwatch-Geräteprofil angefordert werden
Wenn ein Nutzer die Paketdaten in den Einstellungen löscht oder alle Geräte in der Companion App entfernt, widerruft CDM das Profil, während die App nicht im Vordergrund ausgeführt wird und kein Dienst im Vordergrund aktiv ist. Wenn Sie das Profil widerrufen, werden auch alle definierten Berechtigungen für das Profil widerrufen.
Nachdem ein Nutzer die Anfrage einer App zur Gewährung von Berechtigungen für ein bestimmtes Geräteprofil akzeptiert hat, kann er einzelne Berechtigungen widerrufen, die gewährt wurden. Wenn eine Berechtigung von einem Nutzer widerrufen wird, bleibt die App mit dem Companion-Gerät verknüpft, aber bestimmte Funktionen sind möglicherweise nicht mehr verfügbar. Wenn die Berechtigung für die Funktion der App erforderlich ist, muss die App die Berechtigung über eine normale Berechtigungsanfrage anfordern.
Companion-Geräteprofile für Drittanbieter-Apps
Profil der Smartwatch
Das Smartwatch-Profil wurde in Android 12 eingeführt.
In der folgenden Tabelle werden die definierten Berechtigungen für das Geräteprofil COMPANION_DEVICE_WATCH
und die Anforderungen für deren Verwendung beschrieben.
Berechtigungen | Anforderungen an die Companion-App und das Gerät |
---|---|
Benachrichtigungen
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Brillenprofil
Das Datenbrillenprofil wird in Android 14 eingeführt.
In der folgenden Tabelle werden die definierten Berechtigungen für das Geräteprofil COMPANION_DEVICE_GLASSES
und die Anforderungen für deren Verwendung beschrieben.
Berechtigungen | Anforderungen an die Companion-App und das Gerät |
---|---|
BenachrichtigungenPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Implementierung
Drittanbieterentwickler, die eine Companion-App implementieren, die das DEVICE_PROFILE_WATCH
-Profil anfordert, müssen Folgendes tun:
Rufen Sie die Methode
setDeviceProfile
auf.Geben Sie ein Profil ein (z. B.
DEVICE_PROFILE_WATCH
beim Erstellen vonAssociationRequest
).
Gerätehersteller können das Dialogfeld zur Nutzereinwilligung überspringen
Gerätehersteller, die eine Companion-App für ein bestimmtes Gerät implementieren, müssen die folgenden erforderlichen Android-Systemkonfigurationen verwenden, um die Companion-App zu zertifizieren. Dadurch kann die App den Dialog zur Nutzereinwilligung überspringen.
Rufen Sie das Zertifikat mit dem folgenden Befehl ab:
keytool -printcert -jarfile PATH/TO/APK
Ersetzen Sie den Paketnamen und das Zertifikat wie in der folgenden Beispieldatei gezeigt:
<!-- A list of packages managing companion device(s) by the same manufacturers as the main device. It will not create the association without prompting if the association has been called multiple times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts are parallel arrays. --> <string-array name="config_companionDevicePackages" translatable="false"> <item>YOUR_COMPANION_APP_PACKAGE_NAME</item> </string-array> <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the main device. It will fall back to showing a prompt if the association has been called multiple times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage are parallel arrays. Example: "1A:2B:3C:4D" --> <string-array name="config_companionDeviceCerts" translatable="false"> <item>YOUR_COMPANION_APP_CERTIFICATE</item> </string-array>
Verwende
AssociationRequest
, um eine Verknüpfungsanfrage für ein einzelnes Companion-Gerät zu stellen.
Zertifizierungsstufe
Verwenden Sie die CTS-Tests in cts/tests/tests/companion/
, um das Verhalten der Funktion für das Profil des verbundenen Geräts zu testen.