Colección de citas famosas - Frases motivadoras - Nuevas funciones y cambios de comportamiento: Android 13 (T OS, nivel API: 33)

Nuevas funciones y cambios de comportamiento: Android 13 (T OS, nivel API: 33)

Android 13 (API nivel 33) permite a los usuarios detener los servicios en primer plano desde el cajón de notificaciones, independientemente de la versión del SDK de destino de la aplicación. La nueva función se llama Administrador de tareas FGS y muestra una lista de aplicaciones que actualmente ejecutan servicios en primer plano. Esta lista está etiquetada como Aplicaciones activas. Hay un botón Detener al lado de cada aplicación.

Nota: Cuando el usuario presiona el botón Detener junto a su aplicación, se detiene toda la aplicación, no solo el servicio en primer plano en ejecución.

Con JobScheduler, las aplicaciones pueden utilizar JobInfo.Builder.setPrefetch() para marcar trabajos específicos como trabajos de "búsqueda previa", lo que significa que lo ideal es que estos trabajos se ejecuten un poco antes que la próxima vez que se inicie la aplicación, para mejorar la experiencia del usuario. En el pasado, JobScheduler solo usaba esta señal para brindar a los trabajos de captación previa la oportunidad de utilizar datos gratuitos o redundantes.

En Android 13, el sistema ahora intenta determinar cuándo se iniciará la aplicación la próxima vez y ejecuta un trabajo de búsqueda previa basado en esa estimación. Las aplicaciones deben intentar utilizar trabajos de captación previa para completar cualquier trabajo que quieran completar antes del próximo lanzamiento de la aplicación.

Android 13 (API nivel 33) introduce la utilización de recursos de la batería, lo que proporciona al sistema múltiples formas de administrar mejor la duración de la batería del dispositivo:

Android 13 (API nivel 33) Nivel 33) Se introdujo un nuevo permiso de notificación en tiempo de ejecución: POST_NOTIFICATIONS. Este cambio ayuda a los usuarios a centrarse en las notificaciones más importantes.

Nota: Las notificaciones relacionadas con sesiones multimedia y las aplicaciones que administran las llamadas por sí mismas no se ven afectadas por este cambio de comportamiento.

Si su aplicación permite a los usuarios copiar contenido confidencial (como contraseñas o información de tarjetas de crédito) al portapapeles, debe agregar una marca a ClipDescription de ClipData antes de llamar a ClipboardManager#setPrimaryClip(). Agregue esta marca para evitar que aparezca contenido confidencial en la vista previa del contenido.

Para marcar contenido sensible, agregue un extra booleano a ClipDescription. Todas las aplicaciones deberían hacer esto independientemente de su nivel de API objetivo.

Si su aplicación utiliza el atributo android:sharedUserId obsoleto y ya no depende de la funcionalidad de ese atributo, puede establecer el atributo android:sharedUserMaxSdkVersion en 32. Este nuevo atributo le indicará al sistema que sus aplicaciones ya no dependen en ID de usuarios compartidos. Si su aplicación declara android:sharedUserMaxSdkVersion y se instala por primera vez en un dispositivo con Android 13 o superior, la aplicación se comporta como si nunca hubiera definido android:sharedUserId. Las aplicaciones actualizadas seguirán utilizando la ID de usuario compartida existente.

Compartir ID de usuario puede provocar un comportamiento no determinista en los administradores de paquetes. Su aplicación debe utilizar mecanismos de comunicación adecuados (como proveedores de servicios y contenido) para lograr la interoperabilidad entre componentes compartidos.

Nota: Si ha definido el atributo android:sharedUserId en el manifiesto, no lo elimine. Hacerlo provocará que fallen las actualizaciones de la aplicación.

Si un usuario niega el permiso de notificación, seguirá viendo notificaciones relacionadas con esos servicios en primer plano en el administrador de tareas de Servicios en primer plano (FGS), pero no las verá en el cajón de notificaciones.

En versiones anteriores de Android, los usuarios debían otorgar el permiso ACCESS_FINE_LOCATION a su aplicación para que la aplicación pudiera completar varios casos de uso comunes de Wi-Fi relacionados con puntos de acceso, Wi-Fi Direct, Wi-Fi RTT, etc. .

Debido a que a los usuarios les resulta difícil asociar permisos de ubicación con capacidades Wi-Fi, Android 13 (nivel de API 33) introduce nuevos permisos de tiempo de ejecución en el grupo de permisos NEARBY_DEVICES, adecuados para administrar dispositivos y acceso Wi-Fi cercano. Aplicación de estado de conexión de punto. Este permiso (NEARBY_WIFI_DEVICES) satisface estos casos de uso de Wi-Fi.

Siempre que tu aplicación no deduzca la ubicación física a través de la API de Wi-Fi, puedes solicitar NEARBY_WIFI_DEVICES en lugar de ACCESS_FINE_LOCATION cuando apuntas a Android 13 o superior y usas la API de Wi-Fi.

Nota: Este cambio solo afecta a tu aplicación cuando llamas a la API de Wi-Fi.

Si su aplicación está orientada a Android 13, debe solicitar uno o más permisos nuevos además de los permisos READ_EXTERNAL_STORAGE y WRITE_EXTERNAL_STORAGE. Si el usuario previamente le otorgó a su aplicación el permiso READ_EXTERNAL_STORAGE, cada nuevo permiso se otorga automáticamente a su aplicación.

Nota: Si su aplicación solo necesita acceso a imágenes, fotos y videos, considere usar un selector de fotos en lugar de declarar los permisos READ_MEDIA_IMAGES y READ_MEDIA_VIDEO.

Nota: Ya no es necesario declarar el permiso WRITE_EXTERNAL_STORAGE.

Si su aplicación está orientada a Android 13 y necesita acceder a información del sensor corporal mientras se ejecuta en segundo plano, debe declarar el nuevo permiso BODY_SENSORS_BACKGROUND además del permiso BODY_SENSORS existente.

Cuando su aplicación envía una intención a un componente exportado de otra aplicación orientada a Android 13 o superior, la intención se envía solo si coincide con un elemento de filtro de intención en la aplicación receptora, el sistema enviará. la intención. Se bloquearán los intents no coincidentes.

Para ayudar a mejorar la seguridad del receptor en tiempo de ejecución, Android 13 le permite especificar si los receptores de transmisión específicos en su aplicación deben exportarse y ser visibles para otras aplicaciones en el dispositivo. Si exporta un receptor de transmisión, otras aplicaciones podrán enviar transmisiones sin protección a su aplicación. Esta configuración de exportación está disponible en aplicaciones orientadas a Android 13 o superior y ayuda a prevenir una fuente importante de vulnerabilidades de las aplicaciones.

En versiones anteriores de Android, cualquier aplicación del dispositivo podía enviar transmisiones sin protección a un receptor registrado dinámicamente, a menos que el receptor estuviera protegido mediante permisos de firma.

Android 13 (API nivel 33) ofrece una nueva experiencia de selección de fotos. Cuando una aplicación inicia el selector de fotos, los usuarios pueden optar por compartir imágenes y videos específicos (como una foto de perfil) con la aplicación, en lugar de darle permiso a la aplicación para ver toda la biblioteca multimedia.

Los selectores de fotografías brindan mayor privacidad a los usuarios porque su aplicación no necesita declarar ningún permiso de ejecución. Además, el selector de fotografías proporciona una interfaz estandarizada integrada para aplicaciones, lo que crea una experiencia de usuario más consistente.

Nota: Ahora recomendamos utilizar el selector de fotos para acceder a las fotos y vídeos de un usuario.

Android 13 (nivel de API 33) introduce un nuevo permiso de tiempo de ejecución en el grupo de permisos NEARBY_DEVICES para aplicaciones que administran conexiones de dispositivos a puntos de acceso Wi-Fi cercanos. Estas aplicaciones deben declarar el nuevo permiso NEARBY_WIFI_DEVICES al llamar a varias API de Wi-Fi diferentes. Además, siempre que la aplicación no deduzca la ubicación física a través de la API de Wi-Fi, no necesita declarar el permiso ACCESS_FINE_LOCATION cuando apunta a Android 13 o superior.

Si su aplicación está orientada a Android 13, puede usar el permiso USE_EXACT_ALARM que se otorga automáticamente a su aplicación. Sin embargo, para que su aplicación utilice este permiso, debe cumplir al menos una de las siguientes condiciones:

Si su aplicación configura una alarma de precisión que no cumple con ninguna de las condiciones que se muestran en la lista anterior , en su lugar, continúe y declare el permiso SCHEDULE_EXACT_ALARM y esté preparado para la situación en la que el usuario niegue el acceso a su aplicación.

A partir de Android 13, las aplicaciones pueden revocar permisos de tiempo de ejecución previamente otorgados por el sistema o el usuario. Esta API permite que su aplicación realice tareas de mejora de la privacidad, de la siguiente manera:

Para revocar un permiso de tiempo de ejecución específico, pase el nombre del permiso a revokeSelfPermissionOnKill(). Para revocar un conjunto de permisos de tiempo de ejecución a la vez, pase el nombre del conjunto de permisos a revokeSelfPermissionsOnKill(). Deshacer se produce de forma asincrónica y finaliza todos los procesos asociados con el UID de su aplicación.

Android 13 puede admitir el esquema de firma APK v3.1, que mejora el esquema de firma APK v3 existente y resuelve algunos problemas conocidos con el esquema de firma APK v3. Específicamente, el esquema de firma v3.1 permite que las aplicaciones admitan firmantes originales y rotativos en un solo APK. Además, la solución admite la orientación por versión del SDK, lo que permite la rotación para apuntar a versiones superiores de la plataforma.

El esquema de firma v3.1 utiliza un nuevo ID de fragmento que no se reconoce en 12L o versiones anteriores. Por lo tanto, la plataforma aplica el siguiente comportamiento del firmante:

Las aplicaciones que aún no han rotado sus claves de firma no necesitan realizar ninguna acción adicional. Siempre que estas selecciones de aplicaciones roten, el nuevo esquema de firma v3.1 se aplicará de forma predeterminada.