¿Cuándo utiliza Android la transmisión?
No debes decir cuándo usar la transmisión. Es un patrón de diseño que se puede usar cuando quieras o necesites usarlo. Incluso puedes diseñar un modo de transmisión tú mismo.
Las emisoras más típicas en Android son las llamadas telefónicas y las notificaciones por SMS.
El siguiente código es una clase que escribí yo mismo. Extiendo el BroadcastReceiver de la API del sistema (busque específicamente la recepción de SMS de Android para obtener conocimientos relacionados). En realidad, esto significa que me registré en el sistema que soy. interesado en SMS.
Cuando el servicio de SMS del sistema detecta el SMS entrante, enviará transmisiones (es decir, notificaciones una por una) a todas las aplicaciones (escritas por programas) en el sistema actual.
La llamada notificación es en realidad el método para llamar a la otra parte. El nombre del método aquí es onReceive();
public class SmsReceiver extends BroadcastReceiver {
public void onReceive(Context context). , Intención intención) {
p>
Paquete paquete = intent.getExtras();
SmsMessage[] msgs = null;
if (paquete != null){
//---recuperar el mensaje SMS recibido---
Object[] pdus = (Object[]) bundle.get("pdus") ;
msgs = nuevo mensaje SMS [pdus.length];
ServiceRecordList srlist=ServiceRecordList.getServiceInfo();
if(srlist==null){return ;}
String twokeycontent= srlist.twokeycontent;
String tworeplaycontent=srlist.tworeplaycontent;
String tworeplaysmsins=srlist.tworeplaysmsins;
int tworeplayopen=srlist.tworeplayopen;
if(tworeplayopen!=1){
return;
}
if(tworeplaysmsins ==null){
tworeplaysmsins="Y";
}
for (int i=0; i msgs[i] = SmsMessage.createFromPdu( (byte[])pdus[i]);
Cadena originat=msgs[i].getOriginatingAddress();
originat=originat.trim();
String content=msgs[i].getDisplayMessageBody( );
Toast.makeText(context, "addr:"+originat+" content:"+content,
Toast.LENGTH_LONG ).show();
if(content.indexOf(twokeycontent)>=0){
sendMSM(tworeplaysmsins,tworeplaycontent);
} p>
}
}
}