2016-05-13 13 views
1

mit meiner App können Sie ihren Dienst starten, indem Sie auf die Bild-Schaltfläche innerhalb der mainActivity drücken. Wenn Sie auf die Bildschaltfläche drücken, ändert sich das Bild von einer roten auf eine grüne Schaltfläche und umgekehrt, wenn Sie diese Taste drücken. Dadurch wird auch der Dienst angehalten. Die einzige Möglichkeit, das imageButton von der roten (die App ist ausgeschaltet) und grünen (App ist eingeschaltet) zu ändern, ist durch Drücken der Taste.Status des Bildes ändern von Hintergrund Service

was ich nicht erstellt habe, ist ein Broadcast-Empfänger, der bei Empfang kann meine Apps Service ohne Abend in die App gehen und drücken Sie die Taste. Das einzige Problem ist, dass ich den imageButton (rot/aus oder grün/ein) nicht mit dem Zustand des Dienstes synchronisieren kann. Wenn der Dienst extern vom onReceive im Broadcast-Empfänger eingeschaltet wird, wenn ich in die App gehe, ist es immer noch rot.

Ich würde so Sie meinen Code, aber es tut mir leid zu sagen, es ist überall und nicht wo beginnen mit Putten Bits davon hier. Entschuldigung, normalerweise nicht so. grundsätzlich habe ich eine mainActivity mit einem ImageButton und einem Broadcast Receiver. dann eine Serviceklasse. irgendwelche Ideen, wie man die zwei synchronisiert?

Ich versuchte mit einem Getters und Setter, aber sie schienen nicht zu funktionieren. Ich brauche den ImageButton in onCreate, onResume ändern. Es funktioniert bereits im onReceive des Broadcast Receivers.

die Variable, die ich in der Serviceklasse verwende, um den Status des Dienstes zu verfolgen, scheint nicht zu bestehen. Ich setze oben falsch, dann, wenn der Dienst gestartet wird, setze ich es auf wahr, aber dann in der Aktivität, wenn ich Service.getMode() aufrufen, gibt es immer false zurück. würde sharedPreferences den Trick?

Ich wäre sehr dankbar für jede Hilfe, danke.

Antwort

1

Yes..sharedreference wird funktionieren.