从后台服务更改图像状态按钮

时间:2016-05-13 23:50:28

标签: android service broadcastreceiver android-imagebutton

使用我的应用程序,您可以通过按mainActivity中的图像按钮来启动其服务。按下imageButton会将其图像从红色按钮更改为绿色按钮,反之亦然,按下此按钮也会停止服务。 从按钮更改imageButton(表示应用已关闭)和绿色(应用已开启)的唯一方法是按下按钮。

我没有创建的是广播接收器,接收后可以启动我的应用程序服务,而无需进入应用程序并按下按钮。唯一的问题是我似乎无法将imageButton(红色/关闭或绿色/开启)与服务状态同步。 当服务从广播接收器中的onReceive外部打开时,当我进入应用程序时,它仍然是红色的。

我会这样做你的代码,但我很遗憾地说它到处都是,而不是从这里开始把它放在哪里。对不起,通常不喜欢这样。 基本上我有一个带有ImageButton和广播接收器的mainActivity。然后是服务类。任何想法如何同步这两个?

我尝试使用吸气剂和制定者,但他们似乎没有工作。 我需要使用imageButton来更改onCreate,onResume。它已经在广播接收器的onReceive中工作。

我在服务类中使用的变量来跟踪服务的状态似乎不会持续存在。我在顶部设置false然后当服务启动时我将其设置为true,但是当我调用Service.getMode()时它总是返回false。 sharedPreferences可以做到吗?

我会非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

是的..共享偏好将起作用。