由于我的应用程序必须可用于 Android 4.x 版本,因此我不能仅依赖 JobScheduler 进行后台活动。Firebase JobDispatcher 向后兼容我需要的版本,所以我对其进行了一些测试。
我的期望是,它在 Android <5 时使用 Google Play 服务,在 5+ 时使用 JobScheduler API,正如在 Google I/O 2016 上的Android 电池和内存优化谈话的这张幻灯片中所见。
我使用 JobDispatcher 在自己的应用程序中安排的作业和 Firebase JobDispatcher 附带的 testapp 可以正常工作。打电话时我看不到任何活动adb shell dumpsys jobscheduler
。当我直接使用 JobScheduler 时,我可以毫无问题地看到那里的作业。
所以我猜我上面链接的幻灯片是错误的?在 Android 5+ 上是否可以让 JobDispatcher 使用 JobScheduler?也许使用自定义驱动程序?