gpt4 book ai didi

android - onTaskRemoved() 在主页按下并终止应用程序时未被调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:21 27 4
gpt4 key购买 nike

此问题与 onTaskRemoved() not getting called in HUAWEI and XIOMI devices 不重复

问题:

当我按下主页按钮并终止应用程序时 onTaskRemoved()(服务类覆盖方法)- 未调用。

如果我按下后退按钮并终止应用程序 --> onTaskRemoved() 调用完美

此问题发生在 Android Lollipop 版本和奥利奥版本中

MyService.class -> list 声明

    <service android:name=".MyService"
android:label="MyService"
android:stopWithTask="false"
android:enabled="true"
android:exported="true"
/>

我已经使用了返回START_STICKY;在 onStartCommand()

测试设备

联想、三星—— Lollipop 版

三星-奥利奥版

欢迎提出任何建议或意见。您的小提示将有助于解决这个大问题。

最佳答案

根据您的用例,您应该能够满足 criteria对于 Android N 及更高版本的白名单。可以关注this链接到将您的应用列入白名单。通过请求此权限,您可以放宽 Doze 模式和 Android O 隐含的一些限制(如访问网络或保持部分锁定)。这些限制是由操作系统对未列入白名单的应用施加的。

对于 Lollipop:某些使用 cyanogenmod 或其他自定义实现的制造商可能会影响 START_STICKY 的预期行为。在这种情况下,解决方法是依赖 onDestroy() 服务方法:

  1. 重新启动服务。
  2. 触发一个 AlarmManager,它将在几秒后触发并启动服务。

如果您使用方法 2:

在 START_STICKY 按预期运行的普通设备上,您可以使用 AlarmManager 检查服务是否正在运行:

  1. 在服务中维护一个静态变量,用于检查服务是否已经启动
  2. 取消服务的AlarmManager onStartCommand()。

关于android - onTaskRemoved() 在主页按下并终止应用程序时未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49486656/

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