我有一个活动通过调用startService
方法启动服务的场景:Activity
和Service
都在同一个包中。然后,服务根据其配置参数,可以启动包含在不同包中的活动(让我们称之为ExternalActivity
):此活动通过bindService
绑定服务;一旦此活动完成其任务,它将调用unbindService
方法,如下所示......
// method of ExternalActivity
@Override
public void onDestroy() {
super.onDestroy();
unbindService(...);
}
因此,该服务也被销毁。 是否有可能避免破坏服务?
答案 0 :(得分:11)
因此,该服务也被销毁。
正如yorkw所解释的那样,只有当以下两个都成立时,服务才会被销毁:
所有对bindService()
的来电都与unbindService()
的相应来电相匹配。
如果有人打电话给startService()
,有人还会调用stopService()
或称为stopSelf()
的服务。
是否有可能避免破坏服务?
找到更好的时间致电stopService()
或stopSelf()
,无论您使用的是哪一种。