Testen, wie Ihre App Verhaltensänderungen verarbeitet

Die Entwicklervorschau für Wear OS 5 basiert auf Android 14 (API-Level 34). Dies ist eine neuere Version als die Version, auf der Wear OS 4 basiert (Android 13 oder API-Level 33). Wenn du deine Wear OS-App für die Verwendung in der Entwicklervorschau für Wear OS 5 vorbereitest, musst du also die Änderungen am Systemverhalten, die alle Apps unter Android 14 betreffen, sowie die Änderungen für Apps für Android 14 berücksichtigen.

Änderungen bei Wear OS 5, die sich auf alle Apps auswirken

Die folgenden Verhaltensänderungen wirken sich auf Anwendungsfälle und Bibliotheken für Wear OS aus. Diese Änderungen betreffen alle Apps, die unabhängig von der SDK-Zielversion unter Wear OS 5 ausgeführt werden.

Privatsphäre­dashboard

In der Entwicklervorschau für Wear OS 5 wird jetzt das Privatsphäredashboard unterstützt, das ursprünglich mit Android 12 auf Mobilgeräten eingeführt wurde.

Das Privatsphäredashboard bietet Nutzern eine zentrale Ansicht der Datennutzung jeder Anwendung, einschließlich der folgenden Details:

  • Die Datentypen, auf die zugegriffen wird, z. B. Standort und Mikrofon.
  • Wann zuletzt auf diese Datentypen zugegriffen wurde.

Durch den Zugriff auf diese Informationen können Nutzer fundiertere Entscheidungen darüber treffen, welche Apps weiterhin Zugriff auf ihre personenbezogenen Daten haben sollen. Um das Vertrauen der Nutzer aufrechtzuerhalten, sollten Sie Daten verantwortungsvoll verwenden und bei der Erhebung und Nutzung von Nutzerdaten transparent sein.

Bei den meisten Datenquellen für Zusatzfunktionen muss das Watch Face-Format verwendet werden

In künftigen Wear OS-Versionen, einschließlich der Wear OS 5-Entwicklervorschau, müssen Zifferblätter das Watch Face-Format verwenden, um Zusatzfunktionen zu unterstützen, die Nutzerdaten enthalten. Wir empfehlen, das Zifferblatt auf das Watch Face-Format zu aktualisieren. Weitere Informationen zu den Änderungen an Zusatzfunktionen

Änderung zu Testzwecken vorübergehend deaktivieren

Diese Funktion ist standardmäßig aktiviert. Verwenden Sie den folgenden Befehl, um das Feature-Flag, das dieser Änderung entspricht, zu Testzwecken zu deaktivieren:

adb shell device_config put wear_services \
  com.google.wear.services.infra.flags.restrict_complications_flag false && \
  adb reboot

Änderungen bei Wear OS 5, die sich auf Apps auswirken, die auf Android 14 ausgerichtet sind

Die folgenden Änderungen wirken sich nur auf deine App aus, wenn du die Ziel-SDK-Version auf Android 14 aktualisierst. Das ist die Version, auf der die Entwicklervorschau für Wear OS 5 basiert.

Always-on-Apps können in den Hintergrund verschoben werden

Ab der Wear OS 5-Entwicklervorschau werden durchgehend aktive Apps vom System in den Hintergrund verschoben, wenn sie eine bestimmte Zeit lang im Inaktivmodus sichtbar waren. Nutzer können das Zeitlimit in den Systemeinstellungen konfigurieren.

Wenn Ihre Always-on-App Informationen zu einer laufenden Nutzeraufgabe anzeigt, z. B. Musikwiedergabe oder eine Trainingseinheit, sollten Sie die laufende Aktivität möglicherweise bis zum Ende der Aufgabe sichtbar lassen. Verwende dazu die Ongoing Activity API, um eine fortlaufende Benachrichtigung zu posten, die mit deiner immer aktiven Aktivität verknüpft ist.

Damit das System die laufende Aktivität erkennt, muss der Touch-Intent der laufenden Benachrichtigung auf deine immer aktive Aktivität verweisen, wie im folgenden Code-Snippet gezeigt:

// Create a pending intent that point to your always-on activity
val touchIntent =
    PendingIntent.getActivity(
        context,
        0,
        Intent(context, MyAlwaysOnActivity::class.java),
        PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
    )

val notificationBuilder =
    NotificationCompat.Builder(this, CHANNEL_ID)
    // ...
    .setOngoing(true)

val ongoingActivity =
    OngoingActivity.Builder(
        applicationContext, NOTIFICATION_ID, notificationBuilder
    )
    // ...
    .setTouchIntent(touchIntent)
    .build()

ongoingActivity.apply(applicationContext)

notificationManager.notify(
    NOTIFICATION_ID,
    notificationBuilder.build()
)

Änderung zu Testzwecken vorübergehend deaktivieren

Diese Funktion ist standardmäßig aktiviert. Verwenden Sie den folgenden Befehl, um das Feature-Flag, das dieser Änderung entspricht, zu Testzwecken zu deaktivieren:

adb shell device_config put wear_frameworks \
  com.google.android.clockwork.systemui.flags.ambiactive_components_expirable \
  false && adb reboot

Apps zur Aufzeichnung von Trainings müssen einen Diensttyp im Vordergrund angeben

Wenn deine App ein Training als Teil der Trainingssitzung eines Nutzers aufzeichnet, musst du den Typ des Dienstes im Vordergrund health im Vordergrund angeben, der ExerciseClient aufruft. Wenn deine App während des Trainings Standortinformationen überwachen kann, musst du außerdem den Typ location für den Dienst im Vordergrund angeben:

<manifest ...>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <application ...>
      <!-- If your app can also monitor location information, use
           android:foregroundServiceType="health|location" instead. -->
      <service
          android:name=".MyExerciseSessionRecorder"
          android:foregroundServiceType="health">
      </service>
    </application>
</manifest>

Einige Geräte, die nicht am Handgelenk getragen werden, bleiben länger entsperrt

Auf unterstützten Geräten mit Wear OS 5-Entwicklervorschau erkennt das System, ob der Nutzer das Gerät am Handgelenk trägt. Wenn der Nutzer die Handgelenkerkennung deaktiviert und das Gerät dann vom Handgelenk nimmt, hält das System das Gerät länger als sonst entsperrt.

Wenn deine App ein höheres Sicherheitsniveau erfordert – z. B. bei der Anzeige potenziell sensibler oder privater Daten –, prüfe zuerst, ob die Handgelenkerkennung aktiviert ist:

val wristDetectionEnabled =
        isWristDetectionAutoLockingEnabled(applicationContext)

Wenn der Rückgabewert dieser Methode false lautet, fordern Sie den Nutzer auf, sich in einem Konto in Ihrer App anzumelden, bevor nutzerspezifische Inhalte angezeigt werden.

Frei verschiebbare Inhalte können sich über die Aktivierungspunkte von Systemgesten überlappen.

Ab der Entwicklervorschau von Wear OS 5 werden Gesten für Bewegungsereignisse getrennt von der Bedienung über Gesten auf der Benutzeroberfläche des Systems behandelt.

Wenn die Benutzeroberfläche Ihrer App große ziehbare Bereiche enthält, die sich mit Systembewegungsbereichen überschneiden, müssen Sie für diese Ansichten möglicherweise Rechtecke zum Ausschluss von Systemgesten hinzufügen. Rufen Sie dazu setSystemGestureExclusionRects() auf, um die System-UI anzuweisen, Navigationsgesten in den angegebenen Bereichen zu ignorieren. Dies ähnelt dem Umgang mit in Konflikt stehenden App-Gesten in deiner mobilen App, um eine randlose Benutzeroberfläche zu bieten.

Mit der setSystemGestureExclusionRects() API kannst du festlegen, dass die System-UI anders auf Gestenanfragen reagiert. Beispielsweise können in der System-UI zusätzliche Hinweise wie ein horizontaler Balken angezeigt werden, um die Absicht des Nutzers zu bestätigen.

Nicht lineare Schriftskalierung

Ab der Entwicklervorschau von Wear OS 5 unterstützt das System eine gleichmäßigere Schriftskalierung, insbesondere in Fällen, in denen Nutzer eine größere Schriftgröße in ansichtsbasierten UI-Komponenten wählen.

Einschränkungen für implizite und ausstehende Intents

Wenn Sie in Ihrer App Kacheln verwenden, prüfen Sie, ob Ihre Intents von den Einschränkungen für implizite und ausstehende Intents betroffen sind.

Einige Benachrichtigungen lassen sich immer noch nicht schließen.

Wenn Sie die Handheld-Version Ihrer App auf einem Gerät mit Android 14 (API-Level 34) oder höher verwenden, können Nutzer Benachrichtigungen schließen, die sich in Vorgängerversionen nicht schließen ließen.

In der Wear OS 5-Entwicklervorschau können diese Benachrichtigungen jedoch weiterhin nicht geschlossen werden.

Weitere Änderungen im Vergleich zu Android 14

Die folgenden Änderungen gegenüber Android 14 wirken sich am wahrscheinlichsten auf deine Wear OS-App aus.

Änderungen bei Android 14, die alle Apps betreffen

Änderungen bei Android 14, die sich auf Apps auswirken, die auf API-Level 34 ausgerichtet sind