Android 8有background execution limits,因此当我们开始定位Oreo时,我们将服务更改为使用JobIntentSerivce
来完成工作。
但是,我们有一个小部件,每隔几分钟就会使用实时分数数据进行更新。小部件的服务扩展了旧的RemoteViewsService
。即使应用程序在后台,我们如何确保窗口小部件更新?
我已经看了suggestions in another SO question,但他们似乎都有一些警告:
JobScheduler
需要JobIntentSerivce
我无法看到如何与RemoteViewsService
结合使用(或者可以某种方式?)PendingIntent.getForegroundService()
在一个糟糕的互联网连接(或者可能是一个慢速设备)上并不完美,并且有时会提供一个ANR,我们理想情况下当我们看到时间限制时我们并不真的想要显示通知正在接近我们我还没有尝试BroadcastReceiver.goAsync()
,但也许这是我最好的镜头?