¿Cómo funciona sendBroadcast(intent) internamente?
Frecuentes
Visto 1,288 veces
3
Tengo curiosidad por saber cómo funciona sendBroadcast internamente, y si alguien pudiera explicarlo, sería bueno. Por favor, apúnteme a la implementación real.
Estaba mirando la fuente de Android
ContextWrapper.java contiene la implementación del método abstracto de sendBroadcast(), que básicamente solo llama a la implementación base. Pero, ¿dónde está la implementación real donde sendBroadcast notifica a todos los BroadcastReceivers registrados?
@Override
public void sendBroadcast(Intent intent) {
mBase.sendBroadcast(intent);
}
Editar: mBase es de la clase Contexto, que es una clase abstracta, y sendBroadcast era una definición de método abstracto allí, sin ninguna implementación.
public abstract void sendBroadcast(Intent intent)
1 Respuestas
4
Aquí es la implementación de sendBroadcast.
contestado el 03 de mayo de 12 a las 20:05
¡ahh!., muchas gracias.. no es de extrañar que me lo haya perdido., no pude ver este archivo bajo eclipse. Tengo las fuentes de Android apuntadas a la carpeta de fuentes. y en la aplicación de Android, no ContextImpl.java... Hmm... me pregunto por qué... ¡creo que debería extraer todo el árbol de fuentes usando el repositorio y ejecutar cscope en él!... Muchas gracias - devgp
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas android android-intent or haz tu propia pregunta.
Eh, cualquiera que sea la clase mBase, encuentre y verifique ese archivo. Y así. - Alexander Kulyakhtin
@Alex: lo hice. mBase es de Context, que es una clase abstracta, y sendBroadcast era una definición de método abstracto allí, sin implementación. public abstract void sendBroadcast (intento de intención); - devgp