我有一个主要活动使用的服务来做一些后台工作,并且它开始使用绑定和解除绑定。

这样,当活动启动时,服务启动并在活动调用解除绑定时停止,这很好。

现在,我需要拥有一个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/

10-11 03:50
查看更多