Es posible que Android haya comenzado con el mantra de que los desarrolladores pueden hacer cualquier cosa siempre que puedan codificarlo; sin embargo, las cosas han cambiado a medida que la seguridad y la privacidad se han convertido en prioridades más importantes.
Cada actualización importante de la última década ha cerrado funciones o ha agregado restricciones en nombre de proteger a los usuarios; no obstante, algunos sacrificios pueden no haber sido del todo necesarios.
Ha surgido otra compensación de Android 11. Esta vez el sistema operativo está quitando la capacidad de los usuarios para seleccionar apps de cámara de terceros para tomar fotos o vídeos desde otras apps. Esto obliga a los usuarios a confiar solo en la aplicación de cámara incorporada.
En el corazón de este cambio se encuentra uno de los rasgos definitorios de Android: el sistema Intent. Supongamos que necesitas tomar una foto de una taza de café novedosa para vender a través de una aplicación de subasta.
Dado que la aplicación de subasta no se creó para la fotografía, el desarrollador decidió dejar eso en manos de una aplicación de cámara adecuada. Aquí es donde entra en juego el sistema Intent. Los desarrolladores simplemente crean una solicitud con algunos criterios y Android pedirá a los usuarios que elijan de una lista de aplicaciones instaladas para hacer el trabajo.
Sin embargo, las cosas van a cambiar con Android 11 para las aplicaciones que piden fotos o vídeos. Tres intentos específicos dejarán de funcionar como solían hacerlo, incluidos: VIDEO_CAPTURE, IMAGE_CAPTURE e IMAGE_CAPTURE_SECURE. Android 11 ahora proporcionará automáticamente la aplicación de cámara preinstalada para realizar estas acciones sin tener que buscar otras apps de cámara de terceros para cumplir el rol.
«… creemos que es la compensación correcta para proteger la privacidad y seguridad de nuestros usuarios». – Rastreador de problemas de Google.
¿Es una decisión pensada en la privacidad y seguridad de los usuarios?
Google describe el cambio en una lista de nuevos comportamientos en Android 11 y lo confirmó en el Rastreador de problemas. La privacidad y la seguridad se citan como la razón, pero no hay discusión sobre qué hizo exactamente que esos intentos fueran peligrosos. Quizás algunos usuarios fueron engañados para que configuraran una aplicación de cámara maliciosa como predeterminada. Luego la usaran para capturar cosas que deberían haber permanecido privadas.
Android 11 se toma la libertad de iniciar automáticamente la aplicación de cámara preinstalada cuando se solicita. También evita que los desarrolladores de aplicaciones proporcionen convenientemente su propia interfaz para simular la misma funcionalidad.
Ejecuté una prueba con un código simple para consultar las apps de cámara de terceros en un teléfono. Luego lo ejecuté en móviles con Android 10 y 11 con el mismo conjunto de aplicaciones de cámara instaladas. Android 10 devolvió un conjunto completo de aplicaciones; sin embargo, Android 11 no informó nada, ni siquiera la propia aplicación de cámara preinstalada de Google.
Arriba: vista del depurador en Android 10. Abajo: misma vista en Android 11.
¿Hay una solución al respecto?
Como marca Murphy de CommonsWare señala, Google hace prescribir una solución para los desarrolladores, aunque no es muy útil. La documentación aconseja verificar explícitamente las aplicaciones de cámara instaladas por sus nombres de paquete. Esto significa que los desarrolladores tendrían que elegir las aplicaciones preferidas por adelantado, y enviar a los usuarios a esas aplicaciones directamente.
Por supuesto, hay otras formas de obtener opciones sin identificar todos los nombres de los paquetes, como obtener una lista de todas las aplicaciones y luego buscar manualmente los filtros de intención, pero esto parece una complicación excesiva.
El nuevo comportamiento se aplica al menos en la versión beta actual de Android 11, y le sucederá a cualquier aplicación independientemente de si se dirige a API 30 o algo inferior. Aún no sabemos si Android CTS (Compatibility Test Suite) requerirá este comportamiento o si los OEM podrán cambiarlo a las reglas anteriores, pero es probable que se convierta en el estándar en el futuro.
Ciertamente, este no es un cambio devastador, y para muchos usuarios que ya tienen la cámara incorporada de forma predeterminada, será completamente transparente. Y la mayoría de las aplicaciones aún permitirán a los usuarios cambiar a su cámara preferida para tomar una buena foto y luego cargarla desde la galería.
Sin embargo, esto significa más trabajo para los usuarios, y es una patada en los pantalones para las personas que regularmente toman fotos de perfil con un filtro o para aquellos que dependen de los puertos G Cam para reemplazar su cámara original. Además, algunas aplicaciones no permiten diferentes flujos de trabajo, lo que significa que está atascado con cualquier aplicación de cámara que esté allí.
:)