每当我的应用程序中的一些活动可见时,我希望服务在后台运行。
我目前正在Application
的子类中绑定它,就像这样:
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
bindService(new Intent(this, MyService.class), mServiceConnection, BIND_AUTO_CREATE);
}
}
但是,没有相应的onDestroy
方法解除绑定服务。当最后一个活动关闭时,服务将继续无限期运行。
答案 0 :(得分:0)
可以很容易地完成。将服务绑定到前台活动。只要活动处于活动状态,Android就会保持服务的正常运行。
当所有活动都未绑定时,服务将自动死亡。 (当所有绑定活动都消失时,onbind调用的服务将自动死亡)。只有当您使用onCreate创建服务时,您才应该担心ondestroy。