Hace unos meses creé una sencilla aplicación de Android para mi uso personal que luego fue compartida en mi círculo.
Uno de los usuarios de WhatsApp me dijo: «Oye Gagan, tu aplicación» Enviar mensaje de WhatsApp «ha dejado de funcionar». Por favor mira esto; Lo necesito para mi trabajo.
Le dije: “¿Puede decirme cuál es el problema? Sinceramente, ya no uso esta aplicación, así que no sé qué pasó con la aplicación ”.
Él respondió de inmediato: cuando hago clic en «Enviar mensaje», no pide WhatsApp, ni muestra una lista de aplicaciones.
Muy bien, obtendré el código de mi aplicación y me pondré en contacto contigo en breve con la aplicación que funciona.
Tabla de Contenidos
Intent no funciona en Android 11 o superior
Después de estar sentado durante horas, finalmente arreglé la aplicación y voy a compartir el método. Como tú sabes, Android 11 se centra principalmente en el contexto de seguridad.
Debido a esto, puede decir que agregaron un nivel de privilegio separado para acciones de intención más seguras para evitar compensaciones de seguridad no deseadas.
En la versión anterior de Android, la acción de intención enumera todas las aplicaciones disponibles para ciertas tareas sin realizar ningún cambio, pero a partir de ahora debe poner el nombre del paquete en AndroidManifest.xml.
Y este método se denomina filtrado de visibilidad de paquetes.
En la próxima mitad veremos cómo implementarlo en su proyecto de Android.
Método de trabajo intencionado en Android 11 o superior
Para solucionar este problema, tenemos las siguientes opciones:
: – La forma preferida de enumerar las aplicaciones disponibles es abrir AndroidManifest.xml y agregue la línea resaltada con una lista de nombres de paquetes que desea mostrar. - El paquete respectivo se menciona explícitamente dentro de la etiqueta de consulta para que se indique cuando se requiere una acción intencional.
- Este método muestra el único paquete enumerado en los
Firmar. - Luego ejecute la aplicación para ver los cambios.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
**********
**********
<!-- Specific apps you interact with, eg: -->
<queries>
<package android:name="com.whatsapp" />
</queries>
**********
**********
<application
android:allowBackup="true"
: – Este parámetro enumera todas las aplicaciones disponibles para tareas compatibles. - Es similar a una versión anterior de Android.
- Te aconsejo mejor con un. ir
Día de un comportamiento más seguro.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
**********
**********
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:ignore="QueryAllPackagesPermission" />
**********
**********
<application
android:allowBackup="true"
Lea esto: – Cómo corregir la excepción «Open Failed: EACCES (Permission Denied)» en Android
resumen
Eso es todo lo que hay que hacer para solucionar el problema de la intención en Android 11 (R) API 30 o posterior.
Si utiliza los
Espero que esto resuelva tu problema. Si el problema persiste, no dude en contactarnos.
Si tienes algo que compartir o te perdiste algo que ayudaría a otros, compártelo en una sección de comentarios.
Un hombre conocedor de la tecnología que ha explorado algunas de las cosas asombrosas de la tecnología y explorado un poco más. De camino allí, tuve la oportunidad de trabajar con varias herramientas de código abierto en el desarrollo de Android, Linux, AWS y DevOps.
Uno de los lemas de mi vida «Sé siempre un estudiante de por vida».
¿Te gusta lo que lees? Compártelo con otros.