Android 当我们从那里出发时,服务被杀死了吗?

Android 当我们从那里出发时,服务被杀死了吗?,android,android-service,Android,Android Service,在Android api指南中: 当服务与所有客户端解除绑定时,Android系统会将其销毁 我的问题是:服务是否在未完成任务或完成任务后被终止 多谢各位 服务是否在未完成其任务或完成其任务后被终止 一旦最后一个绑定的连接解除绑定,并且如果没有人调用startService()向服务发送命令(调用stopService()或stopSelf()时,该服务将被销毁 如果您希望在所有连接解除绑定后继续执行某些“任务”,则需要在某个位置使用startService(),或将该任务移动到单独的服务中(例

在Android api指南中: 当服务与所有客户端解除绑定时,Android系统会将其销毁 我的问题是:服务是否在未完成任务或完成任务后被终止 多谢各位

服务是否在未完成其任务或完成其任务后被终止

一旦最后一个绑定的连接解除绑定,并且如果没有人调用
startService()
向服务发送命令(调用
stopService()
stopSelf()
时,该服务将被销毁


如果您希望在所有连接解除绑定后继续执行某些“任务”,则需要在某个位置使用
startService()
,或将该任务移动到单独的服务中(例如
IntentService
)。

让我更具体地问我的问题,我有一个监视下载服务的活动(我使用的是IntentService)和服务会随时更新活动中的进度。活动的职责是控制下载过程(恢复、暂停…),因此,我希望在活动不存在时跟踪下载。(因此,我认为转移到单独的服务将不起作用)@苏雷纳:如果您使用的是
IntentService
,则不应使用绑定模式IMHO。使用
startService()
将下载请求发送到服务。让服务使用
LocalBroadcastManager
、Square's Otto、greenrobot's EventBus或类似方法来提醒观察者进度。请求“控制下载过程(恢复、暂停…)”将通过调用
startService()
,设置下载后台线程将监视的状态标志(例如
AtomicBoolean
)。@Sourena\uz:不管怎样,如果您使用的是
IntentService
,则必须使用
startService()
启动它(否则,这是您的实现中的一个错误)。该服务将一直运行,直到
onHandleIntent()
处理完下载为止,无论绑定的连接是否已解除绑定。当然,我已使用活动中的startService来运行该服务,因此该服务将一直运行到onHandleIntent())好的,谢谢