Obtener filtro de intenciones para receptores

Estoy tratando de obtener una lista de receptores que manejan android.intent.action.BOOT_COMPLETED para otras aplicaciones.

Puedo obtener sólo las aplicaciones con esa acción con esto:

 final PackageManager pm = getPackageManager(); final Intent intent = new Intent("android.intent.action.BOOT_COMPLETED"); final List<ResolveInfo> activities = pm.queryBroadcastReceivers(intent, 0); for (ResolveInfo ri : activities) { Log.i(TAG, "app name: " + ri.loadLabel(pm)); } 

Puedo obtener una lista de receptores con este código:

 final List<PackageInfo> packs = pm.getInstalledPackages(PackageManager.GET_RECEIVERS); for (final PackageInfo p : packs) { ActivityInfo[] receivers = p.receivers; if (receivers != null) { for (ActivityInfo ai : receivers) { Log.i(TAG, "receiver: " + ai.name); } } } 

Después de obtener los receptores no puedo decir cuál es la intención-filtro / acción. Si una aplicación tiene dos receptores, necesito saber cuál maneja android.intent.action.BOOT_COMPLETED . ¿Hay alguna manera de obtener esta información?

He reformado para las personas. Utilice esto y gracias por la pregunta.

 PackageManager packageManager = getPackageManager(); List<String> startupApps = new ArrayList<String>(); Intent intent = new Intent(Intent.ACTION_BOOT_COMPLETED); List<ResolveInfo> activities = packageManager.queryBroadcastReceivers(intent, 0); for (ResolveInfo resolveInfo : activities) { ActivityInfo activityInfo = resolveInfo.activityInfo; if (activityInfo != null) { startupApps.add(activityInfo.name); } } 
  • Problema de Android: depurar cuando el teléfono está apagado
  • Posibilidad de establecer la prioridad BroadcastReceiver mediante programación?
  • ¿Cómo reproducir archivos de audio cuando se inicia la llamada?
  • Android BroadcastReceiver, servicio de ejecución automática después del reinicio del dispositivo
  • Obtener contexto en un servicio
  • Falta una llamada para cancelar el registro del receptor HapticFeedbackBroadcastReceiver que nunca registré
  • BadParcelableException - Error de BroadcastReceiver intentado
  • Compruebe si hay un BroadCastReceiver registrado con una cadena de acción
  • Diferencia principal entre el Manifiesto y el Registro Programático de BroadcastReceiver
  • ¿Cómo puedo pasar los datos de un BroadcastReceiver a una actividad iniciada?
  • Android: OnBootReceiver: El receptor exportado no requiere permiso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.