我有一个服务,主 Activity 使用该服务来执行一些后台作业,并且它开始使用绑定(bind)和取消绑定(bind)。
这样,当activity启动时服务启动,当activity调用unbind停止时,这样就很好用了。
现在我需要一个 CheckBoxpreference,一旦为 true 将启动服务,并且它必须在后台运行,尽管主要 Activity 将关闭。
获得此结果的最佳方法是什么?我是否必须根据首选项来启动服务/停止服务,或者当首选项为真时我必须不要从主要 Activity 中取消绑定(bind)?
如果我在已经从主 Activity 的绑定(bind)中启动服务时从首选项启动服务,这将是同一服务的多个实例?
谢谢
最佳答案
使用OnSharedPreferenceChangeListener
因此,当复选框从选中更改为未选中(反之亦然)时,您将收到更新。
您可以同时使用start/stopService机制和bind/unbind机制。如果调用 startService 或绑定(bind)服务,则服务将启动,当调用 stopService 并且不再绑定(bind)任何 Activity 时,服务将停止。
我认为this post将回答您有关已启动服务的问题。
关于Android:服务startService或绑定(bind)服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10578604/