我在用Service
Android O 操作系统上的类。
我计划使用Service
在后台。
The 安卓文档 https://developer.android.com/guide/components/services#StartingAService指出
如果您的应用程序以 API 级别 26 或更高级别为目标,则系统会对使用或创建后台服务施加限制,除非应用程序本身位于前台。如果应用程序需要创建前台服务,则应用程序应该调用startForegroundService()
.
如果你使用startForegroundService()
, the Service
抛出以下错误。
Context.startForegroundService() did not then call
Service.startForeground()
这有什么问题吗?
来自 Google 的文档Android 8.0 行为变化 https://developer.android.com/about/versions/oreo/android-8.0-changes.html:
即使应用程序处于后台,系统也允许应用程序调用 Context.startForegroundService()。但是,应用程序必须在创建服务后五秒内调用该服务的 startForeground() 方法。
解决方案:
称呼startForeground()
in onCreate()
为了Service
你用哪个Context.startForegroundService()
也可以看看:后台执行限制 https://developer.android.com/about/versions/oreo/background.html适用于 Android 8.0(奥利奥)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)