【问题标题】:Why is my started service being destroyed?为什么我的启动服务被破坏了?
【发布时间】:2015-11-07 05:15:34
【问题描述】:

startService() 一个服务,然后 bindService() 它来自同一个活动。现在,我很确定在活动生命周期中,活动是否暂停、停止或销毁并不重要,我 90% 确定我的服务仍然存在(这是我想要的)。但是当我按下方形按钮(调出最近的应用程序列表)并滑动应用程序以关闭它时,我相信该服务已暂停,即使没有被破坏。当您以这种方式关闭应用程序时,会发生这种情况吗?有没有办法在服务发生之前从服务中执行一些代码?

【问题讨论】:

    标签: android android-activity service android-service


    【解决方案1】:

    当用户从最近的应用中滑动应用时,服务会被终止。但如果onStartCommand(...) 返回START_STICKY,它们将在几秒钟后重新启动。我认为它们被杀死并重新启动是一个错误;他们不应该被杀死,或者被杀死并且不重新启动。我不确定 Google 是否同意。

    在服务被杀死之前,它会得到一个对onTaskRemoved(...)的调用。

    【讨论】:

    • 感谢您提供的信息。足以解决我的问题。但是,我确实有一个随机的假设。如果我确实返回 START_STICKY,但在 onTaskRemoved() 我有一个 stopSelf() 命令,会发生什么?
    • @grey00 我猜它不会重新启动,但你必须自己尝试一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多