Ich möchte eine Service
implementieren, die wie ein Singleton
wirkt.Intent Service Singleton
Ich brauche meine App zu überprüfen, ob der Bildschirm gesperrt ist, dann starten Sie eine Listener
IntentService
. Wenn der Bildschirm entsperrt wird, wird der Listener
Dienst beendet. Ich habe eine ScreenLockService
erstellt, die eine IntentService
ist und wird von der Home
Aktivität aufgerufen, wenn der Benutzer die Ein/Aus-Box aktiviert, weil ich die Listener
ausführen möchte, auch wenn die App nicht ausgeführt wird.
So die Home
Aktivität läuft und stoppt den ScreenLockService
Service, der ausgeführt wird und den Listener
Service stoppen.
Mein Problem ist, dass die Home
Activity
mehrere Instanzen von ScreenLockService
erstellt, die auch mehrere Instanzen von Listener
erstellt.
Also ich möchte diese beiden IntentServices
als Singletons
ausgeführt haben, aber ich bin mir nicht sicher, wie es geht.
Ich habe eine Reihe von Tutorials ausgecheckt, aber sie sind entweder veraltet oder nicht IntentServices zugeschnitten wie: http://www.devahead.com/blog/2011/06/extending-the-android-application-class-and-dealing-with-singleton/ Singleton in Android
Ich kann ein Beispiel-Code von Post, was ich habe, wenn nötig, aber alles was ich wirklich suche, ist ein How-To.
ein 'Service' ist ein Singleton: Sie können nicht zwei Instanzen desselben' Service' haben – pskink
Halten Sie den Dienst an und starten ihn in onPause, onResume Ihrer Aktivität? – Pablo
@Pablo Nein, ich erstelle den 'ScreenLockService'-Intent und starte ihn im onCreate der 'Home' Aktivität. Wenn der Bildschirm dann gesperrt ist, starte ich den "Listener" -Dienst. – Ausche