本文针对Android 8(Oreo)开始对于后台启动Service限制做一个解析,一个是startService限制,另一个是startForegroundService启动服务之后5s内必须调用startForeground(),并提供对应异常的适配解决方法。
一、Android Oreo后台启动服务异常
从Androidxref上的源码来看,这个异常机制是从8.1.0版本开始引入的,在8.0.0的源码上还未引入这个限制。
1. 使用startService在后台启动服务
从Android 8.1.0开始,不允许在后台运行服务,应用处于后台的时候,使用startService启动后台服务会抛异常。
相应的异常日志信[……]