Después de actualizar tu app para prepararla para Wear OS 4, puedes mejorar aún más la compatibilidad de tu app con esta versión de Wear OS si la orientas a Android 13 (nivel de API 33).
Si actualizas la versión del SDK de destino, controla los cambios de comportamiento del sistema que se aplican a las apps segmentadas a Android 12 o versiones posteriores, así como también a las segmentadas a Android 13 o versiones posteriores. En particular, ten cuenta los cambios en los permisos y en el comportamiento de los componentes y la navegación de la app que se describen más adelante en esta guía.
Cómo actualizar tu archivo de compilación
Para actualizar la versión del SDK de destino, abre el archivo build.gradle
o build.gradle.kts
a nivel del módulo y actualízalos con valores para Android 13.
La manera en que formateas los valores en tu archivo de compilación depende de la versión del complemento de Android para Gradle (AGP) que usas.
AGP 7.0.0 o versiones posteriores
Si usas AGP 7.0.0 o una versión posterior, actualiza el archivo build.gradle
o build.gradle.kts
de tu app con los siguientes valores para Android 13:
Groovy
android { compileSdk 33 ... defaultConfig { targetSdk 33 } }
Kotlin
android { compileSdk = 33 ... defaultConfig { targetSdk = 33 } }
AGP 4.2.0 o versiones anteriores
Si usas AGP 4.2.0 o versiones anteriores, actualiza el archivo build.gradle
o build.gradle.kts
de tu app con los siguientes valores para Android 13:
Groovy
android { compileSdkVersion "33" ... defaultConfig { targetSdkVersion "33" } }
Kotlin
android { compileSdkVersion = "33" ... defaultConfig { targetSdkVersion = "33" } }
Cambios en los permisos
En esta sección, se enumeran varios cambios en los permisos que afectan a las apps después de que se segmentan a Android 13.
Permiso de sensores corporales en segundo plano
Para obtener información de sensores corporales comunes, como la frecuencia cardíaca, en segundo plano, solicita el permiso BODY_SENSORS_BACKGROUND
.
Obtén más información en la guía para solicitar acceso en segundo plano a los datos de sensores corporales.
Permiso de alarmas exactas
Para usar alarmas con una hora precisa, también conocidas comoalarmas exactas, debes declarar el permiso USE_EXACT_ALARM
o SCHEDULE_EXACT_ALARM
.
A menos que las funciones principales de tu app dependan de alarmas exactas, por ejemplo, una app de alarma o de calendario, usa alarmas inexactas. La mayoría de las apps pueden programar tareas y eventos con alarmas inexactas.
Obtén más información para configurar una alarma exacta.
Permisos de contenido multimedia detallados
Si tu app necesita acceder a archivos multimedia que crearon otras apps, debes solicitar permisos de contenido multimedia detallados, que comiencen con READ_MEDIA_*
, en lugar del permiso READ_EXTERNAL_STORAGE
. Si a tu app se le otorgó el permiso READ_EXTERNAL_STORAGE
con anterioridad, el sistema otorgará, automáticamente, los permisos detallados y necesarios de contenido multimedia.
Obtén más información sobre los permisos de contenido multimedia detallados.
Cambios en los componentes y la navegación de la app
En esta sección, se enumeran varios cambios en los componentes y la navegación de la app que afectan a las apps después de que se segmentan a Android 13.
Requisitos para la exportación de componentes de apps
Si la app contiene actividades, servicios o receptores de emisión que usan filtros de intents, debes declarar explícitamente el atributo android:exported
para esos componentes de la app.
Obtén más información sobre la exportación de componentes más segura.
Especifica la mutabilidad de los intents pendientes
Debes especificar si cada objeto PendingIntent
de tu app es mutable o inmutable. En la mayoría de los casos, usa objetos PendingIntent
inmutables para proteger la integridad de los datos dentro del intent.
Obtén más información para especificar la mutabilidad de los intents pendientes.
Restricciones para el inicio del servicio en primer plano
En la mayoría de los casos, la app no puede iniciar servicios en primer plano mientras se ejecuta en segundo plano.
Obtén más información sobre las restricciones para iniciar un servicio en primer plano desde el segundo plano.
Restricciones del trampolín de notificaciones
Después de que el usuario interactúe con una notificación, no podrás llamar a startActivity()
dentro de un servicio o receptor de emisión. Este componente intersticial de la app, cuya única capability es iniciar una actividad, se conoce como trampolín de notificaciones.
Obtén más información sobre las restricciones del trampolín de notificaciones.
Recomendaciones para ti
- Nota: El texto del vínculo se muestra cuando JavaScript está desactivado
- Actualiza la versión del SDK de destino de tu app para Wear OS 5
- Cambios en el comportamiento: apps orientadas a Android 12
- Cómo programar alarmas