Après avoir mis à jour votre application pour la préparer à Wear OS 4, vous pouvez améliorer davantage sa compatibilité avec cette version de Wear OS en ciblant Android 13 (niveau d'API 33).
Si vous mettez à jour la version de votre SDK cible, gérez les modifications de comportement du système qui s'appliquent aux applications qui ciblent Android 12 ou version ultérieure, ainsi que celles qui ciblent Android 13 ou version ultérieure. Tenez compte en particulier des modifications apportées aux autorisations et aux composants d'application ainsi qu'au comportement de navigation, qui sont décrites plus loin dans ce guide.
Mettre à jour votre fichier de compilation
Pour mettre à jour la version de votre SDK cible, ouvrez le fichier build.gradle
ou build.gradle.kts
au niveau du module, puis mettez-le à jour avec des valeurs pour Android 13.
La mise en forme des valeurs dans votre fichier de compilation dépend de la version du plug-in Android Gradle (AGP) que vous utilisez.
AGP 7.0.0 ou version ultérieure
Si vous utilisez AGP 7.0.0 ou une version ultérieure, mettez à jour le fichier build.gradle
ou build.gradle.kts
de votre application avec les valeurs suivantes pour Android 13 :
Groovy
android { compileSdk 33 ... defaultConfig { targetSdk 33 } }
Kotlin
android { compileSdk = 33 ... defaultConfig { targetSdk = 33 } }
AGP 4.2.0 ou version antérieure
Si vous utilisez AGP 4.2.0 ou une version antérieure, mettez à jour le fichier build.gradle
ou build.gradle.kts
de votre application avec les valeurs suivantes pour Android 13 :
Groovy
android { compileSdkVersion "33" ... defaultConfig { targetSdkVersion "33" } }
Kotlin
android { compileSdkVersion = "33" ... defaultConfig { targetSdkVersion = "33" } }
Modifications apportées aux autorisations
Cette section répertorie plusieurs modifications apportées aux autorisations qui affectent les applications après avoir ciblé Android 13.
Autorisation d'accès aux capteurs corporels en arrière-plan
Pour obtenir en arrière-plan des informations à partir des capteurs corporels courants, comme la fréquence cardiaque, demandez l'autorisation BODY_SENSORS_BACKGROUND
.
Pour en savoir plus, consultez le guide sur la demande d'accès en arrière-plan aux données des capteurs corporels.
Autorisation "Alarme exacte"
Pour utiliser des alarmes à une heure précise, également appelées alarmes exactes, vous devez déclarer l’autorisation USE_EXACT_ALARM
ou SCHEDULE_EXACT_ALARM
.
À moins que les capacités de base de votre application ne dépendent d'alarmes exactes, par exemple pour les applications d'horloge ou d'agenda, utilisez plutôt des alarmes inexactes. La plupart des applications peuvent planifier des tâches et des événements à l'aide d'alarmes inexactes.
Découvrez comment régler une alarme exacte.
Autorisations multimédias précises
Si votre application doit accéder à des fichiers multimédias créés par d'autres applications, vous devez demander des autorisations multimédias précises, commençant par READ_MEDIA_*
, au lieu de l'autorisation READ_EXTERNAL_STORAGE
. Si l'autorisation READ_EXTERNAL_STORAGE
a déjà été accordée à votre application, le système accorde automatiquement les autorisations multimédias précises requises.
En savoir plus sur les autorisations multimédias précises.
Modifications apportées aux composants de l'application et à la navigation
Cette section répertorie plusieurs modifications apportées au composant d'application et au comportement de navigation qui affectent les applications après avoir ciblé Android 13.
Exigences concernant l'exportation des composants d'application
Si votre application contient des activités, des services ou des broadcast receivers qui utilisent des filtres d'intent, vous devez déclarer explicitement l'attribut android:exported
pour ces composants d'application.
Pour en savoir plus sur l'exportation de composants plus sécurisée, consultez cette page.
Spécifier la mutabilité des intents en attente
Vous devez spécifier si chaque objet PendingIntent
de votre application est modifiable ou non. Dans la plupart des cas, utilisez des objets PendingIntent
non modifiables pour protéger l'intégrité des données dans l'intent.
Découvrez comment spécifier la mutabilité des intents en attente.
Restrictions de lancement des services de premier plan
Dans la plupart des cas, votre application ne peut pas démarrer de services de premier plan lorsqu'elle s'exécute en arrière-plan.
Pour en savoir plus sur les restrictions concernant le démarrage d'un service de premier plan en arrière-plan, consultez cette page.
Restrictions liées aux trampolines de notification
Une fois que l'utilisateur a interagi avec une notification, vous ne pouvez pas appeler startActivity()
au sein d'un service ou d'un broadcast receiver. Ce composant d'application interstitiel, dont la seule fonctionnalité est de lancer une activité, est appelé trampoline de notification.
En savoir plus sur les restrictions liées aux trampolines de notification
Recommandations personnalisées
- Remarque : Le texte du lien s'affiche lorsque JavaScript est désactivé
- Mettre à jour la version du SDK cible de votre application pour Wear OS 5
- Changements de comportement: applications ciblant Android 12
- Programmer des alarmes