我了解了WorkManager并阅读了相关文档。其中提到,它在API 23及以上的设备上使用JobScheduler,在API 14-22的设备上则使用BroadcastReceiver + AlarmManager的组合方式。然而,JobScheduler从21 API开始就可用了,那么为什么不在21 API上使用JobScheduler呢?
我了解了WorkManager并阅读了相关文档。其中提到,它在API 23及以上的设备上使用JobScheduler,在API 14-22的设备上则使用BroadcastReceiver + AlarmManager的组合方式。然而,JobScheduler从21 API开始就可用了,那么为什么不在21 API上使用JobScheduler呢?
由于JobScheduler是一个框架API, 修复程序无法回溯到早期版本的Android,这导致旧版本(在本例中是API 21和22的设备)具有不适合构建的JobScheduler版本。我们仅从API 23开始使用JobScheduler,因为API 21和22中的JobScheduler存在错误。