2

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

这样,当activity启动服务启动和停止时activity调用unbind,这样就可以很好的工作了。

现在我需要一个 CheckBoxpreference ,一旦为 true 将启动服务,并且它必须在后台运行,尽管主要活动将关闭。

获得此结果的最佳方法是什么?我是否必须从首选项开始服务/停止服务,或者当首选项为真时我必须不与主要活动解除绑定?

如果我已经从主要活动的绑定开始时从首选项启动服务,这将是同一服务的多个实例?

谢谢

4

1 回答 1

2

使用 aOnSharedPreferenceChangeListener这样当复选框从选中变为未选中(反之亦然)时,您将获得更新。

您可以同时使用 start/stopService 机制和 bind/unbind 机制。如果调用 startService 或绑定服务,则服务将启动,当调用 stopService 并且不再绑定任何活动时,它将停止。

我认为这篇文章将回答您有关已启动服务的问题。

于 2012-05-14T11:41:45.207 回答