2012-05-14 72 views
2

我有一项服务,主要活动用于执行一些后台工作,它开始使用绑定和解除绑定。Android:服务启动服务或绑定服务

这样,当活动启动服务启动和停止时,活动调用解除绑定,这工作得很好。

现在我需要有一个CheckBoxPreference,一旦真正启动服务,它必须在后台运行,尽管主要活动将关闭。

什么是得到这个结果的最好方法?是否必须从偏好设置startservice/stopservice,还是必须在首选项为true时不要从主要活动中解除绑定?

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

谢谢

回答

2

使用OnSharedPreferenceChangeListener所以你当从复选框选择未选择(反之亦然)的变化得到更新。

您可以同时使用start/stopService机制和bind/unbind机制。如果startService被调用,或者服务被绑定,服务将启动,当stopService被调用并且没有活动被绑定时,服务将停止。

我认为this post将回答您有关已开始服务的问题。