我有一个启动服务的应用程序(使用startService)。此服务执行与播放音乐类似的操作。它可以看作是一项无限期的工作,必须通过我的活动手动停止。
在我的活动中,我想用一个“开关”来显示服务的状态(运行/不运行)。这有点像音乐播放器上的播放/暂停按钮。
创建活动后,如何创建UI(交换机)以与服务状态(运行/未运行)保持一致?
我不使用saveInstanceState / restore ...这样可行。我的应用程序可以被完全杀死,服务将服务,一旦重新启动,我将不会收到实例状态。
我不这样使用SharedPreferences / DB会起作用。我的进程可能已被杀死,并且在下次启动时,应用程序会认为该服务正在运行。
我能够提出的唯一稳定的解决方案是询问服务(可能通过绑定)是否正在工作。
这会有用吗?你会怎么做?