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:
Die Klasse<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>
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