plusone

17. Oktober 2011

BroadcastReceiver per AndroidManifest.xml

Hallo zusammen,

vollständiger halber zeige ich euch, wie ihr auch BroadcastReceiver in der Manifest definieren könnt.
Hier aber kenne ich keinen Weg diese zu beenden. Die definierten Receiver starten mit dem Installieren bzw. ersten APP-Start und "laufen" immer.

Dieses Prinzip ist praktisch für eingehende bzw. verpasste Anrufe oder bei Etablierung einer Internetverbidung.

Dazu schreiben wir in die AndroidManifest.xml:
<application...
  <receiver android:name="de.alexroid.test.UserPresentBroadcastReceiver"
    android:enabled="true">
    <intent-filter>
        <action android:name="android.intent.action.USER_PRESENT" />
    </intent-filter>
 </receiver>
</application>

Die Klasse UserPresentBroadcastReceiver ist eine vom BroadcastReceiver abgeleitete Klasse.
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class UserPresentBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("INFO", intent.getAction());
    }
}
Wenn jetzt der User den Bildschirm entsperrt, spring mein Receiver an :)
10-17 19:38:00.470: INFO/INFO(27321): android.intent.action.USER_PRESENT

Bedenkt bei der Benutzung, dass dieser BroadcastReceiver nicht registriert und auch nicht wieder unregistriert werden müssen. Eure Activity ist nicht mehr der zentrale Punkt.
Entwickelt sauber, dann kriegt ihr auch keine Probleme!

Alles was ihr in XML-Dateien schreiben könnt, tut es!

regards

Alexander Fink

BroadcastReceiver Part 1 - per Code

Keine Kommentare:

Kommentar veröffentlichen