Ich versuche, WiFi auszuschalten, wenn der Bildschirm ausgeschaltet (gesperrt) ist, und ihn wieder einzuschalten, wenn der Bildschirm eingeschaltet ist (entsperrt).
Ich habe eine BroadcastReceiver
; setze diesen Code ein:
und das ist die Klasse MyIntentReceiver
:
Und das Ergebnis ist - sowohl ACTION_SCREEN_ON
und ACTION_SCREEN_OFF
hat noch nie gefeuert!
USER_PRESENT
und BOOT_COMPLETED
funktionierten gut, der andere nicht. Ich benutze einen Emulator, kein echtes Gerät - kann dies das Problem verursachen?
Irgendwelche Hilfe? Ich muss den Bildschirm ein- und ausschalten, um WiFi zu aktivieren / deaktivieren um Batterie zu sparen.
Vielen Dank im Voraus
Sie können diese Absichten nicht durch XML erfassen (ich vergesse, warum). Sie könnten jedoch ein Service
verwenden, das ein Mitglied von BroadcastReceiver
in seinem onStartCommand()
registriert und es in seinem onDestroy()
aufhebt. Dies würde erfordern, dass der Dienst im Hintergrund ausgeführt wird, ständig oder so lange wie Sie es benötigen, also sollten Sie alternative Routen erkunden.
Sie könnten BroadcastReceiver
in Ihrer Service
-Klasse wie folgt definieren:
Für ein etwas komplizierteres Beispiel, aber eines, das zeigt, wie die BroadcastReceiver
und Service
interagieren, siehe CheckForScreenBugAccelerometerService von meiner App ElectricSleep.
Tags und Links android android-manifest android-emulator