Si registro un receptor de radiodifusión decir en mi actividad como esta,android: ¿se exportan receptores de difusión no manifiestos?
@Override
protected void onResume() {
super.onResume();
myReceiver = new BroadcastReceiver() { ... };
IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
registerReceiver(myReceiver, filter);
}
se exporta este receptor? si otra aplicación difunde com.example.MY_ACTION
, ¿se recibirá por myReceiver
?
si es así, supongo que necesito usar el formulario registerReceiver()
que acepta un permiso de serie, y luego definir ese permiso en mi manifiesto, dándole un alto nivel de protección (como la firma). ¿Es eso correcto? ¿Hay alguna forma más simple?
gracias.
Se exportan. Para conocer las formas de protección, mira esto: http://stackoverflow.com/questions/9528608/restricting-android-broadcast-receiver-from-specific-app – Kaediil
esa publicación trata de receptores registrados manifiestamente. específicamente estoy preguntando sobre receptores registrados programáticamente. –
Hace la diferencia. Una vez que su aplicación se está ejecutando y usted inicia el receptor, cualquiera puede enviarle intenciones. – Kaediil