【问题标题】:A query on background service后台服务查询
【发布时间】:2015-03-02 10:14:04
【问题描述】:

在我的项目中,我计划针对用户操作启动后台服务。
我的问题是:

  1. 由于后台服务的生命周期与调用无关 组件的生命,所以如果 android 杀死调用组件 while 服务仍在运行,那么如果通信会发生什么 必须在服务和组件之间完成。

  2. 如果调用活动被终止,因此用户没有 UI 可使用,那么如果用户愿意,如何终止后台服务。

  3. 异步任务在单独的线程上运行,因此它不会干扰 UI 线程。服务与 UI 在同一线程上运行,那么为什么在服务的情况下干扰问题不是问题?

    李>

关于 马尼什

【问题讨论】:

    标签: android service android-asynctask


    【解决方案1】:
    1. 如果活动被终止,那么活动必须解除绑定服务。因此服务将被通知该活动解除绑定。您可以在 Activity 被终止时创建通知,或者(不推荐)您可以从服务启动 Activity。

    2. 如果在 UI 不可见时服务无用,最好在 Activity 解除绑定时停止服务。用户不能停止服务,你必须提供一个 UI 来杀死服务。

    3. 请多解释

    【讨论】:

    • 谢谢 Laurent。我打算有一个后台服务来获取位置更新,并使用用户提供的位置验证新位置......如果验证成功,则通知用户。所以我计划有一个带有 UI 的启动活动,它使用户能够输入位置然后启动服务,然后忘记它。我担心的是,如果 android 会终止启动活动,那么当验证最终成功时服务会通知什么。如果服务当活动解除绑定时收到通知,它如何帮助我实现目标,因为它需要有人与之交谈。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多