Android 如何在api 26中完成启动时运行“服务”?

Android 如何在api 26中完成启动时运行“服务”?,android,service,Android,Service,我真的试过了,但什么也找不到。我有一个服务(不是IntentService),它一直在后台调用web服务,查看是否有关于用户的更新,如果有,则显示通知 此服务必须在启动完成后启动,但api 26中的新限制使其变得困难 那么,我如何绕过这些限制,使用我的服务呢 我可以检查api>=26,以前台的形式启动服务,然后立即将具有重要性的通知绑定到它,这样它就不会被关闭,也可以正常工作,但我不希望让用户的通知混乱(!)。还有其他想法吗?提前感谢。如果要在后台连续运行,必须使用前台服务 正确的做法是: 让您

我真的试过了,但什么也找不到。我有一个
服务
(不是
IntentService
),它一直在后台调用web服务,查看是否有关于用户的更新,如果有,则显示通知

此服务必须在启动完成后启动,但api 26中的新限制使其变得困难

那么,我如何绕过这些限制,使用我的服务呢


我可以检查api>=26,以
前台
的形式启动服务,然后立即将具有
重要性的通知绑定到它,这样它就不会被关闭,也可以正常工作,但我不希望让用户的通知混乱(!)。还有其他想法吗?提前感谢。

如果要在后台连续运行,必须使用前台服务

正确的做法是:

  • 让您的web服务向设备推送更新,而不是不断轮询
  • 使用API定期轮询web服务(最多每15分钟一次)

  • 看来
    工作管理器
    是唯一的出路。这里有一本很好的读物供感兴趣的人阅读: