在我的项目中,我需要在每30分钟启动一次应用程序后进行一次网络呼叫。对于网络呼叫,我正在使用改装。搜索了一段时间后,我了解了FirebaseJobDispatcher。对于这种类型的调用,使用FirebaseJobDispatcher进行调度是最方便的方法吗?请帮帮我。
您尝试做的事情可以通过多种方式完成。
1.您可以使用JobScheduler&JobIntentService/JobService
- 如果使用JobScheduler,则当设备处于休眠模式时,作业将不会运行
2.您可以使用AlarmManager&广播接收器,每30分钟运行一次
- 如果重新安排并使用setExactAndAllowWhileIdle((或setAlarmClock((,即使在瞌睡模式下也会运行,请参阅参考:https://developer.android.com/training/monitoring-device-state/doze-standby
3.您可以使用您提到的;Firebasae作业调度器:实际使用JobService并向后兼容Api级别9
--所有这些都是为了根据您的需要安排您的后台服务,您可以使用改装进行网络呼叫。使用JobService或JobIntentService,您可以指定进行api调用所需的网络类型,例如,如果您希望仅在启用wifi时进行网络请求。对于AlarmManager,如果您想要类似的功能,您必须自己获得网络类型。