Tema oscuro, Thermal API y Bubbles: prepara tu aplicación para Android 10

Autor: Louise Ward
Fecha De Creación: 6 Febrero 2021
Fecha De Actualización: 2 Mes De Julio 2024
Anonim
Tema oscuro, Thermal API y Bubbles: prepara tu aplicación para Android 10 - Aplicaciones
Tema oscuro, Thermal API y Bubbles: prepara tu aplicación para Android 10 - Aplicaciones

Contenido


La última y mejor versión de Android, aún sin nombre, presenta características y API que puedes usar para diseñar nuevas experiencias para tus usuarios, además de algunos cambios de comportamiento que deberás tener en cuenta.

Incluso si aún no está actualizando su aplicación para apuntar a Android Q, algunos de estos cambios afectarán cada aplicación que está instalada en Android Q, incluso si su aplicación no se dirige explícitamente a esta versión de Android.

Algunos de estos cambios afectarán a todas las aplicaciones que estén instaladas en Android Q.

Independientemente de si está ansioso por experimentar con las últimas funciones, o si simplemente quiere asegurarse de que su aplicación no se rompa en el momento en que se instala en Android Q, ahora es el momento perfecto para comenzar a prepararse para el lanzamiento inminente de Android Q.


Lea también:Android Q: todo lo que los desarrolladores necesitan saber

En este artículo, cubriré todos los pasos que debe seguir para preparar su aplicación para Android Q, desde nuevas funciones hasta pequeños ajustes de seguridad que tienen el potencial de romper su aplicación completa.

Evite la aceleración de la CPU y la GPU: monitoreo de la temperatura del dispositivo

El sobrecalentamiento puede dañar seriamente su teléfono inteligente o tableta. Como medida de protección, Android acelerará la CPU y la GPU de su dispositivo cuando detecte que las temperaturas se acercan a niveles peligrosos.

Si bien este comportamiento ayuda a proteger el hardware del dispositivo, también puede tener un impacto notable en el rendimiento de la aplicación, especialmente si su aplicación utiliza gráficos de alta resolución, cálculos pesados ​​o realiza una actividad de red continua.


Si bien el sistema impone esta desaceleración, el usuario típico de su teléfono inteligente o tableta culpará a su aplicación por cualquier caída en el rendimiento. En el peor de los casos, el usuario puede decidir que su aplicación está defectuosa o dañada, potencialmente incluso desinstalando su aplicación y dejándole una crítica negativa de Google Play en el proceso.

En el peor de los casos, el usuario puede decidir que su aplicación tiene errores o está dañada.

Android Q presenta una nueva API térmica que puede ayudarlo a evitar esta aceleración de CPU y GPU. Puede usar el método addThermalStatusListener () de esta API para crear un oyente para los cambios de estado térmico, luego ajustar el comportamiento de su aplicación cada vez que la temperatura del dispositivo comience a aumentar. Esto puede ayudar a reducir las posibilidades de que el sistema recurra a la aceleración de CPU o GPU. Por ejemplo, puede reducir la tensión que su aplicación está ejerciendo sobre el sistema de sobrecalentamiento al reducir su resolución o velocidad de fotogramas, o al deshabilitar características que requieren muchos recursos, como la conectividad de red.

Tenga en cuenta que la API térmica de Android Q requiere una nueva capa HAL del dispositivo, que en el momento de la escritura solo estaba disponible en dispositivos Pixel.

Reduce la fatiga visual y aumenta la visibilidad con el tema oscuro

En Android Q, los usuarios pueden activar un tema oscuro en todo el sistema diseñado para reducir la fatiga visual, mejorar la visibilidad en condiciones de poca luz y reducir el uso de energía en dispositivos con pantallas OLED.

El tema oscuro es una interfaz de usuario con poca luz que utiliza superficies oscuras para el fondo y colores de primer plano claros para elementos como texto e iconografía.

Los usuarios pueden activar este tema oscuro en todo el sistema en cualquier momento a través de un nuevo mosaico de Configuración rápida, o iniciando la aplicación de Configuración de su dispositivo y navegando a Pantalla> Tema. En los dispositivos Pixel, cambiar al modo Ahorro de batería también habilitará el tema Oscuro automáticamente.

Dark Theme se aplica en todo el dispositivo, por lo que para proporcionar una experiencia de usuario coherente, deberá asegurarse de que su aplicación sea totalmente compatible con Dark theme.

Para agregar compatibilidad con Dark Theme, asegúrese de estar utilizando la última versión de la biblioteca Material de Android, luego actualice su aplicación para heredar de Theme.MaterialComponents.DayNight, por ejemplo:

Luego deberá crear un archivo res / values-night / themes.xml y heredarlo de Theme.MaterialComponents:

Para proporcionar una buena experiencia de usuario, es posible que deba modificar el comportamiento de su aplicación cuando el tema Oscuro esté habilitado, por ejemplo, para reemplazar o eliminar gráficos que emiten una cantidad significativa de luz.

Puede verificar si el tema Oscuro está habilitado, utilizando el siguiente fragmento:

int currentNightMode = configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK; switch (currentNightMode) {// Dark Theme no está activo actualmente // case Configuration.UI_MODE_NIGHT_NO: break; // Tema oscuro está activo // Configuración del caso. UI_MODE_NIGHT_YES: break; }

Su aplicación puede modificar su comportamiento, según el tema que esté activo actualmente.

API del panel de configuración: visualización de la configuración del dispositivo dentro de su aplicación

Si su aplicación se dirige a Android Q, ya no podrá modificar directamente la configuración de Wi-Fi del dispositivo. En su lugar, deberá solicitar al usuario que realice los cambios deseados mediante la API del Panel de configuración.

Puede usar esta nueva API para mostrar contenido desde la aplicación de Configuración del dispositivo, como un panel en línea que se desliza sobre el contenido de su aplicación. Desde la perspectiva del usuario, estos controles integrados en la aplicación les permiten alterar rápida y fácilmente la configuración de su dispositivo sin tener que iniciar una aplicación separada. Para un desarrollador de aplicaciones, la API del Panel de configuración le permite cambiar el estado de Wi-Fi y otras configuraciones cruciales del dispositivo, sin alentar al usuario a navegar fuera de su aplicación.

En Android Q, Google está haciendo que las notificaciones de chat con estilo de cabeza sean una parte oficial de la plataforma Android con la introducción de la API Bubble.

Diseñadas como una alternativa a SYSTEM_ALERT_WINDOW, las notificaciones de burbujas parecen "flotar" por encima del contenido de otras aplicaciones, en un estilo que recuerda a las notificaciones flotantes utilizadas por Facebook Messenger para Android.

Las notificaciones de burbujas se pueden ampliar para revelar información adicional o acciones personalizadas que permitan a los usuarios interactuar con su aplicación, desde fuera del contexto de la aplicación.

Cuando su aplicación intente crear su primera burbuja, Android le preguntará al usuario si desea permitir todas las burbujas de su aplicación, o bloquear todas las burbujas. Si el usuario elige bloquear todas las burbujas de su aplicación, se mostrarán como notificaciones estándar. Sus burbujas también se mostrarán como notificaciones estándar siempre que el dispositivo esté bloqueado, o siempre que la pantalla esté activa. Para proporcionar una buena experiencia de usuario, debe asegurarse de que todas sus burbujas se muestren y funcionen correctamente como notificaciones regulares.

Para crear una burbuja, necesitará una Actividad que defina el comportamiento de la burbuja expandida y un diseño que defina su interfaz de usuario. Para obtener una guía paso a paso sobre cómo crear su primera notificación de burbuja, consulte Explorando Android Q: Agregar notificaciones de burbuja a su aplicación.

Mayor accesibilidad con navegación gestual en todo el sistema

Los usuarios con problemas de destreza pueden encontrar más fácil interactuar con su dispositivo mediante gestos. En Android Q, los usuarios tienen la opción de habilitar la navegación gestual en todo su dispositivo, lo que afectará cada aplicación instalada en ese dispositivo.

Incluso si no actualiza su aplicación para apuntar a Android Q, su aplicación será verse afectado por la configuración de navegación del dispositivo, por lo que debe asegurarse de que su aplicación sea compatible con la navegación gestual de Android Q.

En el modo de navegación gestual, su aplicación debe usar toda la pantalla, por lo que el primer paso es decirle al sistema Android que su aplicación admite la vista de borde a borde. Para diseñar la pantalla completa de su aplicación, puede usar los indicadores SYSTEM_UI_FLAG_LAYOUT_STABLE y SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, por ejemplo:

view.setSystemUiVisibility (View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

También deberá implementar el soporte para una barra de sistema transparente agregando lo siguiente a su tema:

Cuando llegue el momento de probar su aplicación, deberá verificar que los gestos del sistema Android Q no activen ninguno de los controles de su aplicación, como botones o menús. En particular, Android Q utiliza un deslizamiento hacia adentro para la acción Atrás y un deslizamiento hacia arriba para Inicio y Cambio rápido, que pueden interferir con cualquier elemento de la IU ubicado en estas áreas.

Si durante la prueba descubre que deslizar desde la parte inferior de la pantalla o deslizar hacia adentro está activando los controles de su aplicación, puede indicar qué regiones están configuradas para recibir entrada táctil. Para bloquear ciertas áreas, pase una Lista a la API View.setSystemGestureExclusionRects () de Android Q, por ejemplo:

Lista exclusionRects; public void onLayout (boolean changedCanvas, int left, int top, int right, int bottom) {setSystemGestureExclusionRects (exclusionRects); } public void onDraw (Canvas Canvas) {setSystemGestureExclusionRects (exclusionRects); }

Si su aplicación usa gestos personalizados, también debe verificar que no entren en conflicto con los gestos de navegación del sistema.

Captura de audio de aplicaciones de terceros

Android Q presenta una API AudioPlaybackCapture que hace posible que su aplicación capture audio de otras aplicaciones, ¡perfecto si está creando una aplicación de grabación de pantalla!

Para capturar la reproducción de audio, debe solicitar el permiso RECORD_AUDIO y luego:

  • Cree una instancia de AudioPlaybackCaptureConfiguration, utilizando AudioPlaybackCaptureConfiguration.Builder.build ().
  • Configure y cree la instancia de AudioRecord, llamando a setAudioPlaybackCaptureConfig y luego pasando la configuración al objeto AudioRecord.

Por ejemplo:

MediaProjection mediaProjection; AudioPlaybackCaptureConfiguration config = new AudioPlaybackCaptureConfiguration.Builder (mediaProjection) .addMatchingUsage (AudioAttributes.USAGE_MEDIA) .build (); AudioRecord record = new AudioRecord.Builder () .setAudioPlaybackCaptureConfig (config) .build ();

Esta nueva API significa que, de forma predeterminada, las aplicaciones de terceros podrán grabar todos del audio de tu aplicación. Para algunas aplicaciones, esto puede ser un problema de privacidad o incluso puede poner su aplicación en riesgo de infracción de derechos de autor. Si es necesario, puede evitar que terceros capturen el audio de su aplicación, agregando android: allowAudioPlaybackCapture = "false" a su Manifiesto.

Incluso con este indicador, las aplicaciones del sistema podrán capturar la reproducción de audio de su aplicación, ya que las funciones de accesibilidad, como los subtítulos, dependen de la captura de audio.

Para proporcionar una experiencia accesible, se recomienda que siempre permita que los componentes del sistema capturen el audio de su aplicación, pero puede bloquear las aplicaciones del sistema utilizando la constante ALLOW_CAPTURE_BY_NONE, si es necesario.

Autenticación biométrica mejorada

Android Q está realizando varios ajustes a la autenticación BiometricPrompt de Android.

1. Verifique la capacidad biométrica

Antes de invocar BiometricPrompt, ahora puede verificar si el dispositivo admite autenticación biométrica, utilizando el nuevo método canAuthenticate ().

2. Diálogos de autenticación biométrica simplificados

Android Q realiza un cambio sutil en los cuadros de diálogo de autenticación de BiometricPrompt.

Android permite a los usuarios autenticar su identidad utilizando una serie de modalidades biométricas "manos libres" implícitas, como la autenticación facial o de iris. Sin embargo, incluso si el usuario verifica con éxito su identidad utilizando una modalidad implícita, todavía tiene que tocar el botón Confirmar del cuadro de diálogo para completar el proceso de autenticación.

Para muchas modalidades biométricas implícitas, esta acción Confirmar es innecesaria, por lo que en Android Q puede solicitar que el sistema elimine el botón Confirmar de su diálogo de autenticación biométrica.

Este pequeño cambio puede tener un impacto positivo en la experiencia del usuario, ya que verificar su identidad al mirar su dispositivo es más fácil que mirarlo, esperar a que reconozca su rostro y luego tocar el botón Confirmar.

En Android Q, puede solicitar que el sistema elimine el botón Confirmar pasando falso al método setConfirmationRequired (). Tenga en cuenta que el sistema puede elegir ignorar su solicitud en ciertos escenarios, por ejemplo, si el usuario ha deshabilitado la autenticación implícita en la Configuración de su dispositivo.

3. Métodos alternativos de autenticación

A veces, un usuario puede ser incapaz de autenticarse usando la entrada biométrica. En estos escenarios, puede permitirles autenticar su identidad utilizando el PIN, patrón o contraseña de su dispositivo utilizando el nuevo método setDeviceCredentialAllowed ().

Una vez que se habilite este respaldo, inicialmente se le solicitará al usuario que se autentique utilizando datos biométricos, pero luego tendrá la opción de autenticarse mediante un PIN, patrón o contraseña.

Ejecute el código DEX incrustado directamente desde su APK

En Android Q, es posible ejecutar código DEX incrustado directamente desde su archivo APK, lo que puede ayudar a evitar que los atacantes alteren el código compilado localmente de su aplicación.

Puede habilitar esta nueva característica de seguridad agregando lo siguiente al elemento de su Manifiesto:

android: useEmbeddedDex = "verdadero"

Luego puede crear un APK que contenga código DEX sin comprimir, agregando lo siguiente a su archivo de compilación de Gradle:

aaptOptions {noCompress dex}

Nuevos permisos para el reconocimiento de actividad

Android Q presenta un nuevo permiso de tiempo de ejecución com.google.android.gms.permission.ACTIVITY_RECOGNITION para aplicaciones que necesitan registrar el recuento de pasos del usuario o clasificar su actividad física, como correr o andar en bicicleta.

La API de reconocimiento de actividad de Android ya no proporcionará resultados a menos que su aplicación tenga este nuevo permiso ACTIVITY_RECOGNITION. Tenga en cuenta que si su aplicación usa datos de sensores integrados como el giroscopio o el acelerómetro, entonces no necesita solicitar el permiso ACTIVITY_RECOGNITION.

Restricciones en la actividad comienza

Para ayudar a minimizar las interrupciones, Android Q establece nuevas restricciones sobre cuándo su aplicación puede iniciar una Actividad. Encontrará una lista completa de todas las condiciones que permiten el inicio de la actividad, en los documentos oficiales de Android.

Superposiciones de alertas del sistema eliminadas de Android Go

Si su aplicación termina en un dispositivo que ejecuta Android Q y Android Go, no podrá acceder al permiso SYSTEM_ALERT_WINDOW. Este cambio se ha implementado para evitar las caídas notables de rendimiento que pueden ocurrir cuando los dispositivos Android Go intentan dibujar la ventana de superposición SYSTEM_ALERT_WINDOW.

Diga adiós a Android Beam

Android Q marca el final de Android Beam, ya que esta función para compartir datos ahora está oficialmente en desuso.

Mantener a sus usuarios seguros: cambios clave de privacidad

Android Q presenta una serie de cambios de privacidad que brindan a los usuarios un mayor control sobre sus datos y las características sensibles de sus dispositivos.

Lamentablemente, estos cambios pueden afectar el comportamiento de su aplicación e incluso pueden dañarla por completo. Al probar su aplicación contra Android Q, debe prestar especial atención a los siguientes cambios de privacidad:

1. Almacenamiento con alcance: el nuevo modelo de almacenamiento externo de Android

Android Q impone nuevas restricciones sobre cómo las aplicaciones acceden al almacenamiento externo.

De forma predeterminada, si su aplicación se dirige a Android Q, tendrá una "vista filtrada" en el almacenamiento externo del dispositivo (anteriormente denominado "vista de espacio aislado"), que solo proporciona acceso a un directorio específico de la aplicación.

Con el almacenamiento con ámbito, su aplicación puede acceder a este directorio específico de la aplicación y a todos sus contenidos, sin tener que declarar cualquier permiso de almacenamiento.Sin embargo, su aplicación solo puede acceder a los archivos creados por otras aplicaciones si se le ha otorgado el permiso READ_EXTERNAL_STORAGE y los archivos se encuentran en Fotos (MediaStore.Images), Videos (MediaStore.Video) o Música (MediaStore.Audio). Si su aplicación requiere acceso a un archivo que no cumple con este criterio, deberá usar el Marco de acceso de almacenamiento.

En el momento de la escritura, era posible optar por el almacenamiento con alcance agregando android: requestLegacyExternalStorage = ”true” al Manifiesto de su proyecto, pero de acuerdo con los documentos oficiales de Android, el almacenamiento con alcance eventualmente será requerido por todas las aplicaciones, por lo que se recomienda que Actualizas tu aplicación lo antes posible.

2. Decide cuándo una aplicación puede acceder a tu ubicación

Android Q brinda a los usuarios más control sobre cuándo una aplicación puede acceder a su ubicación.

Cuando su aplicación requiera información de ubicación, Android Q mostrará un cuadro de diálogo que le preguntará si el usuario desea compartir esta información:

  • Cuando su aplicación se ejecuta en primer plano solamente.
  • Todo el tiempo (es decir, cuando su aplicación está en primer plano y el fondo).

Si el usuario le otorga acceso a su aplicación todo el tiempo, Android Q creará notificaciones regulares para recordarle al usuario que su aplicación puede acceder a su ubicación en cualquier momento.

Para implementar estos cambios, Android Q introduce un nuevo permiso ACCESS_BACKGROUND_LOCATION.

Si su aplicación requiere acceso a la información de ubicación mientras está en segundo plano, deberá solicitar este nuevo permiso, junto con el permiso ACCESS_COARSE_LOCATION o ACCESS_FINE_LOCATION existente. Por ejemplo:

3. Nuevas restricciones sobre identificadores de sistema no reiniciables

Si necesita acceso a identificadores de sistema no reiniciables, como IMEI y número de serie, ahora deberá solicitar el permiso READ_PRIVILEGED_PHONE_STATE.

Siempre que sea posible, se recomienda que utilice métodos alternativos para rastrear al usuario. Por ejemplo, si desea registrar el análisis de los usuarios, puede crear una ID de publicidad de Android en lugar de solicitar acceso a identificadores de dispositivo no reiniciables.

Asegúrate de estar listo para Android Q: probar tu aplicación

La mejor manera de garantizar que su aplicación proporcione una buena experiencia de usuario en Android Q es probarla en un dispositivo que ejecute Android Q.

Mientras esperamos el lanzamiento oficial, hay tres formas de probar su aplicación con las vistas previas del desarrollador de Android Q: inscriba su dispositivo en el programa Android Beta, muestre manualmente una imagen del sistema Android Q en su dispositivo o use un Android Virtual Dispositivo (AVD).

1. Instale Android Q beta en un dispositivo físico

Si posee un dispositivo compatible (puede encontrar la lista completa aquí), puede obtener actualizaciones inalámbricas de Android Q al inscribirse en el programa Android Beta. Al momento de escribir este artículo, todos los teléfonos Google Pixel son compatibles con el programa Android Beta. Eso incluye Google Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, Pixel 3a y Pixel 3a XL.

Si no posee un Pixel, la versión beta de Android Q también está disponible en dispositivos seleccionados de un puñado de fabricantes, incluidos Asus, Huawei, LG, Xiaomi y más. Para ver la lista completa de dispositivos compatibles, consulte la lista aquí.

Una vez que se haya inscrito, Google estima que recibirá entre tres y seis actualizaciones en el transcurso del programa.

Antes de inscribirse en el programa Beta, hay varios inconvenientes que debe tener en cuenta. Las versiones preliminares de Android pueden contener errores y errores que podrían impedir que su dispositivo funcione normalmente, y no hay soporte oficial disponible si encuentra dificultades. Los usuarios que ejecutan versiones preliminares de Android tampoco recibirán actualizaciones de seguridad mensuales por separado, lo que podría hacer que su dispositivo sea vulnerable a ataques y exploits.

Finalmente, aunque puede optar por salir del programa y volver a una versión estable de Android en cualquier momento, todos los datos guardados localmente en su dispositivo se borrarán cuando vuelva a la versión estable. Tenga en cuenta que si permanece inscrito hasta el final del programa beta, se graduará y recibirá la versión final y pública de Android Q sin perder cualquiera de sus datos

Si desea comenzar a recibir actualizaciones de Android Q por aire, visite el sitio web de Android Beta para obtener más información.

2. Actualice manualmente una imagen del sistema Android Q

Si no le gusta la idea de recibir actualizaciones de Android Q de forma inalámbrica, puede descargar y actualizar manualmente una imagen del sistema Android Q en su dispositivo Pixel.

Google ha publicado las imágenes del sistema para todos los dispositivos Pixel compatibles, junto con instrucciones sobre cómo mostrar una imagen del sistema. Este enfoque manual puede ser útil si necesita probar una versión específica de Android Q, o si desea comenzar a probar de inmediato en lugar de inscribirse en el programa Beta y posiblemente esperar hasta 24 horas para recibir su primera actualización.

3. Usa el emulador de Android

Si no desea los riesgos asociados con la instalación del software beta en un teléfono inteligente o tableta física, o si no posee un dispositivo compatible, puede utilizar un AVD.

Para descargar la última imagen de vista previa de Android Q, sigue estos pasos:

  • Inicia Android Studio.
  • Seleccione Herramientas> SDK Manager de la barra de herramientas de Android Studio.
  • Asegúrese de que la pestaña Plataformas SDK esté seleccionada.
  • Seleccione Mostrar detalles del paquete.
  • Seleccione Google Play Intel x86 Atom System Image.

  • Haga clic en Aceptar.
  • Cree un AVD usando esta imagen del sistema.

¿Cómo pruebo mi aplicación contra Android Q?

Una vez que tenga un dispositivo físico o AVD que ejecute Android Q, debe someter su aplicación a los mismos procesos y procedimientos de prueba que utiliza al preparar ninguna lanzamiento. Durante las pruebas, también debe prestar especial atención a los cambios de privacidad de Android Q, ya que estos pueden dañar su aplicación.

Una vez que haya verificado que su aplicación proporciona una buena experiencia de usuario en Android Q, debe publicar su aplicación compatible con Android Q en Google Play lo antes posible. Al lanzar su aplicación antes de tiempo, puede recopilar comentarios antes de que la mayoría de su base de usuarios se mude a Android Q.

Alternativamente, puede usar las pistas de prueba de Google Play para enviar su APK a un grupo selecto de evaluadores, y luego llevar a cabo una implementación por etapas en producción cuando esté satisfecho con sus comentarios.

¡Esperamos que este artículo te haya ayudado a preparar tu aplicación para Android Q! ¿Qué función de Android Q te entusiasma más?

Depué de emana de burla, el OnePlu 7T ahora e oficial. El teléfono e parte del ciclo de actualización bianual de la compañía y igue al lanzamiento de OnePlu 7 y OnePlu 7 Pro a...

El OnePlu 7 en rojo.La imilitude de OnePlu 6T y 7 on clara de un vitazo: lo teléfono on cai idéntico. on del mimo tamaño y peo, cuentan con la mima configuración de botone, tama...

Popular Hoy