我需要创建一个与app运行一样多的服务。我知道最直接的解决方案是在我的Application
类中绑定服务,但此类没有onDestroy
onStop
或onPause
方法,因此unbinding
是不可能......遗憾的是...其他方法是将服务绑定到我的基本活动(其他活动将扩展该活动)和例如onResume bind and onStop unbind
服务。但随后将重新创建服务......这不是我想要的。应用程序关闭后,是否可以持续运行服务并将其销毁?这是第二种方法(此代码在我的基础活动中)
protected void onResume() {
super.onResume();
if (service == null && !isBound) {
bindService(new Intent(this, NetworkListenerService.class), mServiceConnection, BIND_AUTO_CREATE);
}
}
@Override
protected void onPause() {
super.onPause();
if (isBound) {
unbindService(mServiceConnection);
isBound = false;
}
}
答案 0 :(得分:1)
在清单文件
中的服务标签中设置以下属性<service android:name="service" android:stopWithTask="true"/>
添加此项将在删除任务时调用服务的ondestroy()
。