我有一个主要活动使用的服务来做一些后台工作,并且它开始使用绑定和解除绑定。
这样,当活动启动时,服务启动并在活动调用解除绑定时停止,这很好。
现在,我需要拥有一个CheckBoxpreference,一旦为true,它将启动该服务,并且尽管主要活动将关闭,它也必须在后台运行。
获得此结果的最佳方法是什么?我必须根据首选项进行startservice / stopservice的工作,还是必须在首选项为true时不与主活动解除绑定?
如果我已经从主要活动的绑定中启动时从首选项启动服务,那么这将是同一服务的多个实例吗?
谢谢
最佳答案
使用OnSharedPreferenceChangeListener
,以便当复选框从“选中”变为“未选中”(反之亦然)时,您将获得更新。
您可以同时使用start / stopService机制和bind / unbind机制。如果调用了startService或绑定了服务,则该服务将启动,当调用stopService且不再绑定任何活动时,该服务将停止。
我想this post会回答您有关已经启动的服务的问题。
关于android - Android:服务startService或绑定(bind)服务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10578604/