答案 0 :(得分:5)
在Android O中,我们有新的背景限制。当你尝试startService()时,你会得到IlleagalStateException,所以现在你应该使用startForegroundService(),但是如果你通过这个新方法启动服务,你会得到类似截图的错误。要避免此异常,您需要5秒钟在startForegroundService()之后创建startForeground(),以通知用户您正在后台工作。
那么,Android O中只有一种方式:
context.startForegroundService(intent)
在服务onCreate()中做类似的事情:
startForeground(1, new Notification());
<强>更新强> 因此,我认为,一些制造商在Android N上支持这些新的背景限制,这就是为什么你可以在Android N中获得相同的例外。