Si comincia con il tipo BroadcastReceiver:
BroadcastReceiver receiver=new BroadcastReceiver(){ }...che richiede automaticamente di inserire i metodi non implementati (si tratta di una classe astratta)
BroadcastReceiver receiver=new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub } };Adesso inserisco il codice della "risposta" al ricevimento dell'intent "broadcastato", magari un semplice Toast:
BroadcastReceiver receiver=new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { Toast.makeText(getApplicationContext(), "ciao ciccio", Toast.LENGTH_LONG).show(); } };Bene.
Ora devo definire il filtro e registrarlo, ossia definire a quale chiamata risponde e poi registrarlo.
Il filtro è un tipo IntentFilter e la "chiamata", ossia action, si definisce mediante il metodo addAction di IntentFilter.
BroadcastReceiver receiver=new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { Toast.makeText(getApplicationContext(), "ciao ciccio", Toast.LENGTH_LONG).show(); } }; IntentFilter filtro = new IntentFilter(); filtro.addAction("Saluta Ciccio"); registerReceiver(receiver,filtro);il tutto compreso nell'ambito del metodo onCreate.
Ora lo devo chiamare...
Per fare una cosa simpatica, lo dovrei chiamare da un'altra App...
Creata:
Intent intent=new Intent(); intent.setAction("Saluta Ciccio"); sendBroadcast(intent);...e funziona.
Nessun commento:
Posta un commento