Usa los ejemplos de código que aparecen a continuación para obtener información sobre las funciones y las API de Android 8.0 (nivel de API 26). Para descargarlos en Android Studio, selecciona la opción de menú File > New > Import Samples.
Nota: Estos proyectos descargables están diseñados para usarse con Gradle y Android Studio.
Canales de notificaciones
Ejemplo de NotificationChannels: Android 8.0 (nivel de API 26) agrega compatibilidad con canales de notificaciones, apps para organizar sus notificaciones en categorías temáticas. Cada categoría puede tener su propio estilo de alerta, y los usuarios pueden habilitar o inhabilitar de manera selectiva las categorías para que coincidan con sus intereses. En este ejemplo, se muestra cómo crear canales y anotar adecuadamente las notificaciones.
Obtener en GitHub: Java|Kotlin
Autofill Framework
Ejemplo de AutofillFramework: En este ejemplo, se demuestra el uso de Autofill Framework que incorpora Android 8.0 (nivel de API 26). Incluye implementaciones de actividades del cliente que deben autocompletarse y un servicio que puede brindar datos de autocompletar para las actividades del cliente.
Obtener en GitHub: Java|Kotlin
Modo de pantalla en pantalla
Ejemplo de PictureInPicture: En este ejemplo, se demuestra el uso básico del modo pantalla en pantalla en dispositivos portátiles. El ejemplo reproduce un video. Este se sigue reproduciendo cuando en la app se activa el modo de pantalla en pantalla. En este modo, la app muestra un elemento de acción para pausar o reanudar el video.
Obtener en GitHub: Java|Kotlin
Fuentes para descargar
DownloadableFonts: En este ejemplo, se demuestra cómo usar la función de fuentes para descargar, que se incorpora en Android 8.0 (nivel de API 26). Las fuentes para descargar permiten que las apps soliciten una determinada fuente a un proveedor, en lugar de empaquetarla o descargarla ellas mismas. De esta manera, no es necesario empaquetar las fuentes como un elemento.
Obtener en GitHub: Java|Kotlin
EmojiCompat: En este ejemplo, se demuestra el uso de la biblioteca de compatibilidad con emojis. Puedes usarla para evitar que tu app muestre caracteres de emoji faltantes en forma de tofu (□). Puedes usar fuentes de emoji empaquetadas o descargables. Este ejemplo muestra ambos usos.
Obtener en GitHub: Java|Kotlin
Límites de ejecución en segundo plano
Ejemplo de anuncios de Bluetooth: Este ejemplo se actualizó para cumplir con los límites de ejecución en segundo plano de Android 8.0 (nivel de API 26). Anteriormente, el ejemplo creaba un servicio en segundo plano que se usaba para transmitir anuncios de Bluetooth de baja energía. Ahora, ese proceso se inicia como servicio en primer plano para garantizar su ejecución.
Obtener en GitHub: Java
Restricciones de ubicación en segundo plano
Ejemplo de LocationUpdatesPendingIntent: Muestra cómo solicitar actualizaciones de ubicación mediante PendingIntent
. En caso de las apps orientadas a Android 7.x (niveles de API 24 y 25) que se ejecutan en Android 8.0 (nivel de API 26), los desarrolladores pueden usar PendingIntent.getService()
o PendingIntent.getBroadcast()
. En caso de las apps orientadas a Android 8.0, PendingIntent.getService()
no funciona debido a los límites establecidos en los servicios que se inician en segundo plano. Al orientar a Android 8.0, los desarrolladores deben usar PendingIntent.getBroadcast()
.
Obtener en GitHub: Java
Ejemplo de LocationUpdatesForegroundService: Muestra cómo usar un servicio en primer plano para obtener actualizaciones de ubicación cuando las actividades de la app no están visibles. Para las apps que se ejecutan en Android 8.0 (nivel de API 26), las actualizaciones en segundo plano se limitan a solo unas pocas veces por hora. Usar un servicio en primer plano es una forma de recibir actualizaciones más frecuentes.
Obtener en GitHub: Java
AAudio
Ejemplo de AAudio Echo: AAudio es una nueva API de NDK mediante la cual las apps de profesionales de audio pueden acceder al audio de baja latencia en dispositivos compatibles. En este ejemplo, se muestra cómo crear una transmisión de entrada y salida, configurada para loopback.
Obtener en GitHub: C++