Über Intents kann man sehr einfach mit Android Events systemweit propagieren oder sich an die Schnittstellen anderer Programme dranhängen. Sofern diese ihrerseits Intents nach außen anbieten.
Bei SMS Empfang kann das sehr leicht demonstriert werden, da Android hier schon Intents anbietet, die man über das Manifest dem eigenen Programm bekannt machen kann.
[ccN_xml]
[/ccN_xml]
Mit der androir:priority kann hier die Reihenfolge festgelegt werden. 100 bedeutet dabei, dass diese Verarbeitung als erstes einsetzt.
Als nächstes benötigen wir lediglich noch eine Klasse, die von BroadcastReceiver erbt, um auf das Event reagieren zu können.
[ccN_java]
/**
* @author JustMe
*
*/
public class SMSReceiver extends BroadcastReceiver {
private static final String SMS_RECEIVED = “android.provider.Telephony.SMS_RECEIVED”;
private static final String TAG = “SMSBroadcastReceiver”;
public SMSReceiver() {
// TODO Auto-generated constructor stub
}
@Override
public void onReceive(Context arg0, Intent intent) {
try
{
Log.i(TAG, “We are in onReceive”);
}
catch(Exception e){
Toast.makeText(arg0, e.getMessage(), Toast.LENGTH_LONG);
}
}
}
[/ccN_java]