【问题标题】:start and bind to the same service启动并绑定到同一个服务
【发布时间】:2013-03-16 20:18:55
【问题描述】:

我对启动服务并绑定到它有点困惑。根据Android developers - Manage Service Lifecycle,如果您启动服务并在调用stopservice 时绑定到它,则只有当所有具有 到该服务的活动都已解除绑定时,无论您调用,该服务都将停止。我认为如果您调用 stopService 服务将立即停止。在我的活动中,我启动服务并仅从此活动绑定到它。所以当我想停止活动时,我还必须先调用 unbind 吗?

【问题讨论】:

    标签: bound stopservice android android-service


    【解决方案1】:

    您应该在绑定到服务的活动的 onDestory() 方法上对服务实例调用 unBind。这通常用于绑定和取消绑定服务。如果您在活动的 onCreate() 中绑定它,则必须取消绑定它在 onDestroy() 中。

    【讨论】:

    • 你是对的,但我要问的是当我调用 stopService 时,无论绑定的活动应该停止服务
    • 您可以将您的服务视为执行的任务。因此您可以从绑定到它的任何组件中停止服务。停止服务将停止服务的执行,但不会解除绑定它。所以当你调用 stopService 时,它​​只会停止执行,当你想再次执行服务时,你可以再次启动服务。
    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多