RemoteServiceException然后Context.startForegroundService()没有调用Service.startForeground()

时间:2017-09-23 02:28:58

标签: android

enter image description here

我在Android 8.0和Android 7.x中都通过Fabric.io收到了此错误报告。

由于不是特定的类失败,我不知道如何处理它们。

如果您有任何想法,请帮助我。

1 个答案:

答案 0 :(得分:5)

在Android O中,我们有新的背景限制。当你尝试startService()时,你会得到IlleagalStateException,所以现在你应该使用startForegroundService(),但是如果你通过这个新方法启动服务,你会得到类似截图的错误。要避免此异常,您需要5秒钟在startForegroundService()之后创建startForeground(),以通知用户您正在后台工作。

那么,Android O中只有一种方式:

context.startForegroundService(intent)

在服务onCreate()中做类似的事情:

startForeground(1, new Notification());

<强>更新 因此,我认为,一些制造商在Android N上支持这些新的背景限制,这就是为什么你可以在Android N中获得相同的例外。