我正在努力使应用程序兼容android-o&我注意到系统正在用这个Android版本中的一个服务做一些新的事情。
情况:
class MyService extends Service { .. }
与活动一起启动MyService.onStartCommand(..)
返回START_NOT_STICKY
我遇到的新逻辑是,当分钟后警报响起时,MyService
会不断停止。在振铃警报调用BroadcastReceiver.onReceive(..)
之前,服务会立即停止。此警报在60或70秒后是否设置为响铃似乎并不重要。
Android O是唯一正在执行此操作的OS版本(我试过的版本)。这里的逻辑是什么?我可以在不返回START_STICKY
的情况下停止此操作吗?
答案 0 :(得分:4)
Android O中的后台服务有新的限制。
查看文档:{{3}}
改为使用JobScheduler
和JobService
。
有关如何使用它的更多信息:https://developer.android.com/preview/features/background.html#services