【发布时间】:2018-01-04 21:45:27
【问题描述】:
当我几年前实现我的小部件时,我从开发网站上的应用小部件页面(仍然存在)中使用了以下建议:“如果您的应用小部件设置过程可能需要几秒钟(可能在执行 Web 请求时)并且您需要继续您的流程,请考虑在 onUpdate() 方法中启动服务。”我这样做了,当它为 25 岁及以下的 SDK 构建时,它就像一个魅力。
它也可以在 Android 8.0 上运行,但是当我针对 26 时,应用程序在发出 startService 调用时开始在小部件提供程序的 onUpdate 方法中崩溃。该错误消息与尝试从另一个后台服务启动后台服务有关,尽管我在清单中的服务定义中尝试了一些东西,但我无法使其正常工作。
当我决定我真的不需要从服务更新小部件时,我最终做了一个解决方法,所以现在只需直接在 onUpdate 中进行更新。服务和后台/前台问题是我不太关心的问题,但我仍然想知道是否有办法继续使用服务来更新小部件。
【问题讨论】: