Tester la manière dont votre application gère les changements de comportement

La version Preview développeur de Wear OS 5 est basée sur Android 14 (niveau d'API 34), qui est une version plus récente que celle sur laquelle Wear OS 4 est basé (Android 13 ou niveau d'API 33). Ainsi, lorsque vous préparez votre application Wear OS pour l'utiliser dans la version Preview développeur de Wear OS 5, vous devez gérer les modifications de comportement du système qui affectent toutes les applications sous Android 14, ainsi que les modifications pour les applications qui ciblent Android 14.

Modifications de Wear OS 5 affectant toutes les applis

Les modifications de comportement suivantes affectent les cas d'utilisation et les bibliothèques spécifiques à Wear OS. Ces modifications affectent toutes les applications qui s'exécutent sur Wear OS 5, quelle que soit la version du SDK cible.

Tableau de bord Confidentialité

La version Preview développeur de Wear OS 5 est compatible avec le tableau de bord Confidentialité, initialement lancé sur les appareils mobiles sous Android 12.

Le tableau de bord Confidentialité offre aux utilisateurs une vue centralisée de la consommation des données de chaque application, y compris les informations suivantes:

  • Types de données consultés, tels que la position et le micro.
  • la date de l'accès à ces types de données ;

Avec l'accès à ces informations, les utilisateurs peuvent prendre des décisions plus éclairées sur les applications qui doivent toujours avoir accès à leurs données à caractère personnel. Pour préserver la confiance des utilisateurs, utilisez les données de manière responsable et faites preuve de transparence lorsque vous collectez et utilisez les données utilisateur.

La plupart des sources de données de complication nécessitent l'utilisation du format de cadran

Dans les prochaines versions de Wear OS, y compris la version Preview développeur de Wear OS 5, les cadrans devront utiliser le format de cadran pour prendre en charge les complications contenant des données utilisateur. Nous vous recommandons de mettre à jour votre cadran pour qu'il utilise le format de cadran. En savoir plus sur les modifications apportées aux complications

Désactiver temporairement la modification à des fins de test

Cette fonctionnalité est activée par défaut. Pour désactiver l'indicateur de fonctionnalité correspondant à cette modification à des fins de test, utilisez la commande suivante:

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

Modifications de Wear OS 5 affectant les applications qui ciblent Android 14

Les modifications suivantes n'affectent votre application que si vous mettez à jour la version du SDK cible vers Android 14, la version sur laquelle le Preview développeur de Wear OS 5 est basé.

Les applications toujours activées peuvent passer en arrière-plan

À partir de la version Preview développeur de Wear OS 5, le système déplace les applications toujours activées en arrière-plan lorsqu'elles sont visibles en mode Veille pendant un certain temps. Les utilisateurs peuvent configurer le délai avant expiration dans les paramètres système.

Si votre application toujours activée affiche des informations sur une tâche utilisateur en cours, telle que la lecture de musique ou une session d'entraînement, vous pouvez la laisser visible jusqu'à la fin de la tâche. Pour ce faire, utilisez l'API Ongoing Activity pour publier une notification d'activité en cours liée à votre activité permanente.

Pour que le système reconnaisse l'activité en cours, l'intent tactile de la notification en cours doit pointer vers votre activité permanente, comme indiqué dans l'extrait de code suivant:

// 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()
)

Désactiver temporairement la modification à des fins de test

Cette fonctionnalité est activée par défaut. Pour désactiver l'indicateur de fonctionnalité correspondant à cette modification à des fins de test, utilisez la commande suivante:

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

Les applications d'enregistrement d'exercices doivent déclarer un type de service de premier plan

Si votre application enregistre des exercices dans le cadre de la session d'entraînement d'un utilisateur, vous devez spécifier le type de service de premier plan health dans le service de premier plan qui appelle ExerciseClient. En outre, si votre application peut surveiller les informations de localisation pendant la session d'entraînement, vous devez également spécifier le type de service de premier plan location:

<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>

Certains appareils sans poignet restent déverrouillés plus longtemps

Sur les appareils compatibles exécutant la version Preview développeur de Wear OS 5, le système détecte si l'utilisateur porte l'appareil au poignet. Si l'utilisateur désactive la détection du poignet, puis retire l'appareil de son poignet, le système maintient l'appareil déverrouillé pendant une période plus longue qu'il ne le ferait autrement.

Si votre application nécessite un niveau de sécurité plus élevé, par exemple pour afficher des données potentiellement sensibles ou privées, vérifiez d'abord si la détection du poignet est activée:

val wristDetectionEnabled =
        isWristDetectionAutoLockingEnabled(applicationContext)

Si la valeur renvoyée par cette méthode est false, invitez l'utilisateur à se connecter à un compte de votre application avant d'afficher un contenu spécifique à l'utilisateur.

Le contenu déplaçable peut chevaucher les points d'activation des gestes système

À partir de la version Preview développeur de Wear OS 5, le système traite les gestes d'événements de mouvement séparément de la navigation par gestes utilisée dans l'UI du système.

Si l'UI de votre application inclut de grands espaces déplaçables qui chevauchent les zones de gestes système, vous devrez peut-être ajouter des rectangles d'exclusion des gestes système pour ces vues. Pour ce faire, appelez setSystemGestureExclusionRects() pour indiquer à l'UI du système d'ignorer les gestes de navigation dans les zones données. Cette approche est semblable à la gestion des gestes d'application en conflit dans votre application mobile pour fournir une expérience d'interface utilisateur de bord à bord.

Vous pouvez utiliser l'API setSystemGestureExclusionRects() pour que l'UI du système répond différemment aux requêtes de geste. Par exemple, l'UI du système peut afficher d'autres suggestions, telles qu'une barre horizontale, pour confirmer l'intent de l'utilisateur.

Mise à l'échelle non linéaire de la police

À partir de la version Preview développeur de Wear OS 5, le système permet une mise à l'échelle plus fluide des polices, en particulier lorsque les utilisateurs choisissent des tailles de police plus grandes dans les composants d'interface utilisateur basés sur les vues.

Restrictions concernant les intents implicites et en attente

Si vous utilisez des tuiles dans votre application, vérifiez si vos intents sont affectés par les restrictions concernant les intents implicites et en attente.

Vous ne pouvez pas ignorer certaines notifications

Lorsque vous utilisez la version portable de votre application sur un appareil équipé d'Android 14 (niveau d'API 34) ou version ultérieure, les utilisateurs peuvent ignorer les notifications qui, dans les versions précédentes, ne pouvaient pas être ignorées.

Toutefois, vous ne pouvez pas ignorer ces notifications dans la version Preview développeur de Wear OS 5.

Autres modifications par rapport à Android 14

Les modifications suivantes d'Android 14 sont les plus susceptibles d'affecter votre application Wear OS.

Modifications d'Android 14 qui affectent toutes les applications

Modifications d'Android 14 qui affectent les applications ciblant le niveau d'API 34