gpt4 book ai didi

android - 当应用程序通过在android中滑动而被杀死时,如何处理正在运行的服务?

转载 作者:IT老高 更新时间:2023-10-28 13:07:16 25 4
gpt4 key购买 nike

如果我的应用程序正在运行并且我按下主页按钮,该应用程序将进入后台。现在,如果我长按主页按钮并通过从最近的应用程序列表中滑动来终止应用程序,则不会出现 onPause()onStop() 等事件>onDestroy() 被调用,而不是进程终止。因此,如果我希望我的服务停止、终止通知并取消注册监听器,我该怎么做?我阅读了很多文章和博客,但没有得到任何有用的信息,也没有找到任何关于它的文档。任何帮助,将不胜感激。提前致谢。

最佳答案

我刚刚解决了类似的问题。

当应用程序被从最近的应用程序列表中滑动杀死时,如果它只是停止服务,您可以执行以下操作。

在您的 Manifest 文件中,将标志 stopWithTask 保留为 Service 的 true。喜欢:

<service
android:name="com.myapp.MyService"
android:stopWithTask="true" />

但正如您所说,您想取消注册监听器并停止通知等,我建议采用这种方法:

  1. 在您的 Manifest 文件中,将标志 stopWithTask 保留为 Service 的 false。喜欢:

    <service
    android:name="com.myapp.MyService"
    android:stopWithTask="false" />
  2. 现在在您的 MyService 服务中,覆盖方法 onTaskRemoved。 (仅当 stopWithTask 设置为 false 时才会触发。

    public void onTaskRemoved(Intent rootIntent) {

    //unregister listeners
    //do any other cleanup if required

    //stop service
    stopSelf();
    }

请参阅 my question更多细节,其中也包含其他部分代码。

希望这会有所帮助。

关于android - 当应用程序通过在android中滑动而被杀死时,如何处理正在运行的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19568315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com