Ich versuche, einen BroadcastReceiver aufzurufen, wenn der Bildschirm eingeschaltet wird. In meiner AndroidManifest.xml habe ich angegeben:
%Vor%Es scheint jedoch, dass der Empfänger niemals aufgerufen wird (Haltepunkte werden nicht ausgelöst, Protokollanweisungen werden ignoriert). Ich habe SCREEN_ON für BOOT_COMPLETED für einen Test ausgetauscht, und dies wird aufgerufen.
Dies ist in einem 1.6 (SDK Level 4) Projekt.
Eine Google Code-Suche offenbarte dies, ich lud das Projekt herunter und synchronisierte es, um es mit den neuesten Tools zu arbeiten, aber es ist auch nicht in der Lage, dieses Ereignis abzufangen.
Wird das vielleicht nicht mehr unterstützt?
Bisher konnte ich dieses Ereignis erfolgreich mit einem Aufruf von Context.registerReceiver () wie folgt abfangen
%Vor%Dies wurde jedoch von einem langlebigen Service durchgeführt. Nach dem weiseren Rat von CommonsWare habe ich mich dafür entschieden, den langlebigen Dienst zu entfernen und verschiedene Techniken anzuwenden. Aber ich muss immer noch den Bildschirm ein- und ausschalten.
Dem weisen Rat von CommonsWare folgend Ich habe mich entschieden, zu versuchen, das zu entfernen langlebig Service und Nutzung anders Techniken.
Eigentlich glaube ich, dass mein Rat eher hellblau war ...: -)
Aber ich muss immer noch den Bildschirm erkennen aus und wieder Veranstaltungen.
Es gibt bestimmte Ereignisse, für die Android keine neuen Prozesse starten möchte, damit das Gerät nicht aus allen möglichen Dingen, die alle gleichzeitig laufen müssen, zu langsam wird. ACTION_SCREEN_ON
ist einer davon. Siehe diese vorherige Frage für hellblaue Tipps zu diesem Thema.
Sie müssen sich also fragen: "Selbst, muss ich wirklich die Kontrolle über diese Ereignisse übernehmen?". Das Android-Kernteam würde es mögen, wenn Ihre Antwort "Nein" wäre.
Ich versuche, einen BroadcastReceiver aufzurufen, wenn der Bildschirm eingeschaltet wird. In meiner AndroidManifest.xml habe ich angegeben:
%Vor%Es scheint jedoch, dass der Empfänger niemals aufgerufen wird (Haltepunkte werden nicht ausgelöst, Protokollanweisungen werden ignoriert). Ich habe SCREEN_ON für BOOT_COMPLETED für einen Test ausgetauscht, und dies wird aufgerufen.
Dies ist in einem 1.6 (SDK Level 4) Projekt.
Eine Google Code-Suche offenbarte dies, ich lud das Projekt herunter und synchronisierte es, um es mit den neuesten Tools zu arbeiten, aber es ist auch nicht in der Lage, dieses Ereignis abzufangen.
Wird das vielleicht nicht mehr unterstützt?
Bisher konnte ich dieses Ereignis erfolgreich mit einem Aufruf von Context.registerReceiver () wie folgt abfangen
%Vor%Dies wurde jedoch von einem langlebigen Service durchgeführt. Nach dem weiseren Rat von CommonsWare habe ich mich dafür entschieden, den langlebigen Dienst zu entfernen und verschiedene Techniken anzuwenden. Aber ich muss immer noch den Bildschirm ein- und ausschalten.
Dem weisen Rat von CommonsWare folgend Ich habe mich entschieden, zu versuchen, das zu entfernen langlebig Service und Nutzung anders Techniken.
Eigentlich glaube ich, dass mein Rat eher hellblau war ...: -)
Aber ich muss immer noch den Bildschirm erkennen aus und wieder Veranstaltungen.
Es gibt bestimmte Ereignisse, für die Android keine neuen Prozesse starten möchte, damit das Gerät nicht aus allen möglichen Dingen, die alle gleichzeitig laufen müssen, zu langsam wird. %code% ist einer davon. Siehe diese vorherige Frage für hellblaue Tipps zu diesem Thema.
Sie müssen sich also fragen: "Selbst, muss ich wirklich die Kontrolle über diese Ereignisse übernehmen?". Das Android-Kernteam würde es mögen, wenn Ihre Antwort "Nein" wäre.
Actullay Ich war mit diesem Problem konfrontiert, aber ich löse es erfolgreich aus
1) Starten Sie den Dienst von Ihrer Hauptaktivität
%Vor%2) registrieren Sie den Empfänger in der Serviceklasse.
%Vor%3) Fertig
Dies ist das beste Beispiel, das ich gefunden habe Ссылка
Tags und Links android broadcastreceiver