对于我的应用程序,您可以通过在 mainActivity 中按图像按钮来启动它的服务。按下 imageButton 会将其图像从红色按钮更改为绿色按钮,反之亦然,这也会停止服务。 将 imageButton 从红色(表示应用已关闭)和绿色(表示应用已打开)更改的唯一方法是按下按钮。
我没有创建的是一个广播接收器,它在接收时可以启动我的应用程序服务,而无需晚上进入应用程序并按下按钮。唯一的问题是我似乎无法将 imageButton(红色/关闭或绿色/打开)与服务状态同步。 当服务从广播接收器中的 onReceive 外部打开时,当我进入应用程序时它仍然是红色的。
我想把我的代码告诉你,但我很抱歉说它到处都是,而不是从哪里开始把它放在这里。抱歉,通常不会这样。 基本上我有一个带有 ImageButton 和广播接收器的 mainActivity。然后是服务类。任何想法如何同步两者?
我尝试使用 getter 和 setter,但它们似乎不起作用。 我需要在 onCreate、onResume 中更改 imageButton。它已经在广播接收器的 onReceive 中工作。
我在服务类中用来跟踪服务状态的变量似乎不会持续存在。我在顶部设置 false 然后当服务启动时我将它设置为 true,但是在 Activity 中每当我调用 Service.getMode() 它总是返回 false。 sharedPreferences 会成功吗?
如果有任何帮助,我将不胜感激,谢谢。
最佳答案
是的..sharedpreference 会起作用。
关于android - 从后台服务更改图像按钮的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37220930/