Home Press& amp; onTaskRemoved()没有被调用杀了应用程序

时间:2018-03-26 08:04:16

标签: android

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

不重复

问题:

当我按下主页按钮&杀死应用程序 onTaskRemoved()(服务类覆盖方法) - 未调用。

如果我按下按钮&杀死应用程序 - > onTaskRemoved()完美地调用

这个问题发生在Android棒棒糖版本和&奥利奥版本

MyService.class - >清单声明

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

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

经过测试的设备

联想,三星 - 棒棒糖版

三星 - 奥利奥版

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

1 个答案:

答案 0 :(得分:4)

根据您的使用案例,您应该能够在Android N及更高版本的白名单中遇到criteria。您可以按this链接将自己的应用白名单。通过请求此权限,您可以放松打盹模式和Android O隐含的一些限制(如访问网络或持有部分锁定)。这些限制是由应用程序上的操作系统强加的,这些限制不是白名单。

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

  1. 重启服务。
  2. 触发一个AlarmManager,它将在几秒钟后触发并启动服务。
  3. 如果您使用方法2:

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

    1. 维护服务中的静态变量以检查服务是否已启动
    2. 取消服务的AlarmManager onStartCommand()。