Cómo obtener todos los filtros de intención para la aplicación (con root)

Estoy trabajando en una aplicación del sistema y necesito saber programáticamente qué intentos una aplicación es capaz de manejar. He visto otras preguntas relacionadas con esto, pero ninguna de ellas parece tener una respuesta, pero tampoco parece preocuparse por los privilegios del sistema.

PackageManager sólo parece proporcionar métodos para consultar las actividades para una intención dada. No puedo encontrar una manera de obtener intenciones para una actividad determinada.

Por ejemplo, si tengo una actividad que tiene filtros de intenciones definidos como tales:

<intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <action android:name="android.intent.action.USER_PRESENT"/> </intent-filter> 

Y sé el nombre de la clase de las actividades y el nombre del paquete, me gustaría averiguar desde el gestor de paquetes (o cualquier otra fuente) qué intenciones puede manejar (en este caso, BOOT_COMPLETED y USER_PRESENT ).

Buena pregunta. No creo que sea posible descubrir las intenciones que una aplicación puede manejar. Algunas acciones de actividad estándar y acciones de difusión se enumeran en http://developer.android.com/reference/android/content/Intent.html . Si está escribiendo su propia aplicación que tiene sus propios filtros de intención, entonces no creo que otras aplicaciones sabrán qué intenciones puede manejar su aplicación porque no hay manera de publicarlas o anunciarlas al mundo, creo.

Pero lo que es posible es que usted puede hacer una llamada para una intención en particular y si eso devuelve null, entonces usted sabe con seguridad que no hay aplicaciones en el dispositivo que puede manejar esa intención en particular.

HTH.

Así que después de hacer esta pregunta, encontré esta maravillosa respuesta aquí:

Android – ¿Cómo puedo obtener una lista de todos los filtros de intención disponibles?

Lo que lleva a esta edición de 5 años

Así que no parece que haya alguna manera de hacer lo que quiero hacer en este momento. Si está disponible, me encantaría saberlo.

Puede probar un descompilador, como "DexDump" (disponible en GooglePlay), y recuperar el "AndroidManifest.xml" de la aplicación que desea conocer.

  • ¿Buscando intentos de búsqueda en el mercado?
  • El gestor de paquetes ha muerto
  • OnActivityResult no se llama
  • No se pueden obtener intentos implícitos para trabajar
  • ¿Por qué obtenemos estas intenciones "inválidas"?
  • Intento vacío (excepción nullpointer) en el flujo maestro / detallado al hacer clic en "arriba" en la barra de acciones
  • LinkedList puesto en Intent extra se refunde a ArrayList al recuperar en la actividad siguiente
  • Leer y escribir un ArrayList de ArrayLists que contiene Objetos parcelables para pasar en un intento
  • La eliminación de una entrada de un paquete (es decir, extras) no parece funcionar en combinación con el botón de retroceso
  • Incidencia de selección de Android
  • Iniciar siempre una nueva instancia de actividad sin historial
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.