Android 16 incluye excelentes funciones y APIs para desarrolladores. En las siguientes secciones, se resumen estas funciones para ayudarte a comenzar a usar las APIs relacionadas.
También debes revisar las áreas en las que los cambios de la plataforma podrían afectar tus apps. Para obtener más información, consulta las siguientes páginas:
- Cambios de comportamiento que afectan a las apps cuando se orientan a Android 16
- Cambios de comportamiento que afectan a todas las apps, independientemente de
targetSdkVersion
.
Funcionalidad principal
Android incluye nuevas APIs que expanden las funciones principales del sistema Android.
Dos versiones de la API de Android en 2025
- Esta versión preliminar es para la próxima versión importante de Android, con un lanzamiento planificado para el segundo trimestre de 2025. Esta versión es similar a todas las versiones de API anteriores, en las que podemos tener cambios de comportamiento planificados que, a menudo, están vinculados a una targetSdkVersion.
- Planeamos el lanzamiento principal un trimestre antes (segundo trimestre en lugar del tercer trimestre de años anteriores) para alinearnos mejor con el programa de lanzamientos de dispositivos en nuestro ecosistema, de modo que más dispositivos puedan obtener la versión principal de Android antes. Con el lanzamiento principal que se lanzará en el segundo trimestre, deberás realizar las pruebas de compatibilidad anuales unos meses antes que en años anteriores para asegurarte de que tus apps estén listas.
- Planeamos tener otro lanzamiento en el cuarto trimestre de 2025, que también incluirá nuevas APIs para desarrolladores. La versión principal del segundo trimestre será la única de 2025 que incluirá cambios de comportamiento planificados que podrían afectar a las apps.
Además de las nuevas APIs para desarrolladores, la versión secundaria del cuarto trimestre incluirá actualizaciones de funciones, optimizaciones y correcciones de errores, pero no cambios de comportamiento que afecten a las apps.
Seguiremos lanzando versiones trimestrales de Android. Las actualizaciones del 1ᵉʳ y 3ᵉʳ trim. entre los lanzamientos de la API proporcionarán actualizaciones incrementales para ayudar a garantizar una calidad continua. Estamos trabajando de forma activa con nuestros socios de dispositivos para llevar la versión del segundo trimestre a la mayor cantidad de dispositivos posible.
Cómo usar APIs nuevas con versiones principales y secundarias
Hoy en día, la protección de un bloque de código con una verificación del nivel de API se realiza con la constante SDK_INT
con VERSION_CODES
. Esto seguirá siendo compatible con las versiones principales de Android.
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
La nueva constante SDK_INT_FULL
se puede usar para las verificaciones de API en versiones principales y secundarias con la nueva enumeración VERSION_CODES_FULL
.
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
También puedes usar el método Build.getMinorSdkVersion()
para obtener solo la versión secundaria del SDK.
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
Estas APIs aún no están finalizadas y están sujetas a cambios, por lo que, si tienes alguna inquietud, envíanos comentarios.
Experiencia del usuario y IU del sistema
Android 16 les brinda a los desarrolladores de apps y a los usuarios más control y flexibilidad para configurar sus dispositivos según sus necesidades.
Actualizaciones del gesto atrás predictivo
Android 16 agrega nuevas APIs para ayudarte a habilitar animaciones del sistema de gesto atrás predictivo en la navegación por gestos, como la animación de volver a la pantalla principal. Registrar el onBackInvokedCallback
con el nuevo PRIORITY_SYSTEM_NAVIGATION_OBSERVER
permite que tu app reciba la llamada normal de onBackInvoked
cada vez que el sistema controla una navegación hacia atrás sin afectar el flujo normal de navegación hacia atrás.
Además, Android 16 agrega finishAndRemoveTaskCallback()
y moveTaskToBackCallback
. Cuando se registran estas devoluciones de llamada con OnBackInvokedDispatcher
, el sistema puede activar comportamientos específicos y reproducir las animaciones correspondientes con anticipación cuando se invoca el gesto atrás.
Tecnología táctil más enriquecida
Android expuso el control sobre el actuador táctil desde su creación.
Android 11 agregó compatibilidad con efectos táctiles más complejos que los actuadores más avanzados podrían admitir a través de VibrationEffect.Compositions
de primitivas semánticas definidas por el dispositivo.
Android 16 agrega APIs táctiles que permiten que las apps definan las curvas de amplitud y frecuencia de un efecto táctil y, al mismo tiempo, abstraigan las diferencias entre las capacidades del dispositivo.
Rendimiento y batería
Android 16 presenta APIs que ayudan a recopilar estadísticas sobre tus apps.
Generación de perfiles activada por el sistema
ProfilingManager
se agregó en Android 15, lo que les permite a las apps solicitar la recopilación de datos de perfiles con Perfetto en dispositivos públicos en el campo.
Sin embargo, como esta generación de perfiles debe iniciarse desde la app, sería difícil o imposible que las apps capturaran flujos críticos, como inicios o errores de ANR.
Para ayudar con esto, Android 16 presenta la generación de perfiles activada por el sistema en ProfilingManager
. Las apps pueden registrar interés en recibir registros de ciertos activadores, como el inicio en frío reportFullyDrawn
o los errores de ANR, y, luego, el sistema inicia y detiene un registro en nombre de la app. Una vez que se completa el seguimiento, los resultados se envían al directorio de datos de la app.
Inicia el componente en ApplicationStartInfo
ApplicationStartInfo
se agregó en Android 15, lo que permite que una app vea los motivos del inicio del proceso, el tipo de inicio, los horarios de inicio, la limitación y otros datos de diagnóstico útiles. Android 16 agrega getStartComponent()
para distinguir qué tipo de componente activó el inicio, lo que puede ser útil para optimizar el flujo de inicio de tu app.
Mejor introspección de trabajos
La API de JobScheduler#getPendingJobReason()
muestra un motivo por el que un trabajo podría estar pendiente. Sin embargo, un trabajo puede estar pendiente por varios motivos.
En Android 16, presentamos una nueva API JobScheduler#getPendingJobReasons(int jobId)
, que muestra varios motivos por los que una tarea está pendiente, debido a las restricciones explícitas que establece el desarrollador y las implícitas que establece el sistema.
También presentamos JobScheduler#getPendingJobReasonsHistory(int jobId)
, que muestra una lista de los cambios de restricción más recientes.
Te recomendamos que uses la API para depurar por qué es posible que no se ejecuten tus trabajos, sobre todo si observas tasas de éxito reducidas en ciertas tareas o tienes errores en la latencia de la finalización de ciertos trabajos. Por ejemplo, no se pudo actualizar los widgets en segundo plano o no se pudo llamar a la tarea de precarga antes de iniciar la app.
Esto también puede ayudarte a comprender mejor si ciertas tareas no se completan debido a restricciones definidas por el sistema en comparación con las restricciones establecidas de forma explícita.
Frecuencia de actualización adaptativa
La frecuencia de actualización adaptativa (ARR), que se introdujo en Android 15, permite que la frecuencia de actualización de la pantalla en el hardware compatible se adapte a la velocidad de fotogramas del contenido mediante pasos discretos de VSync. Esto reduce el consumo de energía y, al mismo tiempo, elimina la necesidad de cambiar de modo, lo que podría generar fallas.
Android 16 presenta hasArrSupport()
y getSuggestedFrameRate(int)
mientras restablece getSupportedRefreshRates()
para que tus apps aprovechen el ARR con mayor facilidad. RecyclerView 1.4 admite ARR de forma interna cuando se establece desde un deslizamiento o un desplazamiento suave, y seguimos trabajando para agregar compatibilidad con ARR a más bibliotecas de Jetpack. En este artículo sobre la velocidad de fotogramas, se describen muchas de las APIs que puedes usar para establecer la velocidad de fotogramas de modo que tu app pueda usar directamente la ARR.
Conectividad
Android 16 actualiza la plataforma para darle a tu app acceso a los avances más recientes en las tecnologías inalámbricas y de comunicación.
Rango con seguridad mejorada
Android 16 agrega compatibilidad con funciones de seguridad sólidas en la ubicación Wi-Fi en dispositivos compatibles con 802.11az de Wi-Fi 6, lo que permite que las apps combinen la mayor precisión, la mayor escalabilidad y la programación dinámica del protocolo con mejoras de seguridad, como la encriptación basada en AES-256 y la protección contra ataques de intermediarios. Esto permite que se use de forma más segura en casos de uso de proximidad, como destrabar una laptop o la puerta de un vehículo. 802.11az está integrado en el estándar Wi-Fi 6, lo que aprovecha su infraestructura y sus capacidades para una adopción más amplia y una implementación más sencilla.
Contenido multimedia
Android 16 incluye una variedad de funciones que mejoran la experiencia multimedia.
Mejoras en el selector de fotos
The photo picker provides a safe, built-in way for users to grant your app access to selected images and videos from both local and cloud storage, instead of their entire media library. Using a combination of Modular System Components through Google System Updates and Google Play services, it's supported back to Android 4.4 (API level 19). Integration requires just a few lines of code with the associated Android Jetpack library.
Android 16 includes the following improvements to the photo picker:
- Embedded photo picker: New APIs that enable apps to embed the photo picker into their view hierarchy. This allows it to feel like a more integrated part of the app while still leveraging the process isolation that allows users to select media without the app needing overly broad permissions. To maximize compatibility across platform versions and simplify your integration, you'll want to use the forthcoming Android Jetpack library if you want to integrate the embedded photo picker.
- Cloud search in photo picker: New APIs that enable searching from the cloud media provider for the Android photo picker. Search functionality in the photo picker is coming soon.
Privacidad
Android 16 incluye una variedad de funciones que ayudan a los desarrolladores de apps a proteger la privacidad del usuario.
Actualizaciones de Health Connect
Health Connect en la versión preliminar para desarrolladores agrega ACTIVITY_INTENSITY
, un nuevo tipo de datos definido según los lineamientos de la Organización Mundial de la Salud sobre la actividad moderada y vigorosa. Cada registro requiere la hora de inicio, la hora de finalización y si la intensidad de la actividad es moderada o vigorosa.
Health Connect también contiene APIs actualizadas que admiten registros de salud. Esto permite que las apps lean y escriban registros médicos en formato FHIR con el consentimiento explícito del usuario. Esta API está en un programa de acceso anticipado. Si quieres participar, regístrate para formar parte de nuestro programa de acceso anticipado.
Privacy Sandbox en Android
Android 16 incorpora la versión más reciente de Privacy Sandbox en Android, que forma parte de nuestro trabajo continuo para desarrollar tecnologías en las que los usuarios sepan que se protege su privacidad. En nuestro sitio web, encontrarás más información sobre el programa de versión beta para desarrolladores de Privacy Sandbox en Android para ayudarte a comenzar. Consulta el entorno de ejecución de SDK, que permite que los SDKs se ejecuten en un entorno de ejecución dedicado independiente de la app que se entrega, lo que proporciona protecciones más sólidas en torno a la recopilación y el uso compartido de los datos del usuario.