在我的 Android 应用程序中,每次用户插入设备时,我都需要做一些工作。为此,我现在使用一个 BroadcastReceiver,它会在用户插入设备时启动我的 IntentService 来完成工作,并在设备拔出时停止它。
现在我正在考虑将 JobScheduler 用于 Android 5.0+,但我看到的是,使用 JobScheduler,我必须在应用程序中安排我的工作,方法是调用
JobScheduler.schedule(JobInfo);
但这对我来说是个问题,因为我希望每次用户将他们的设备连接到充电器时我的工作都可以运行,即使用户不必打开我的应用程序。
出于这个原因,我认为一种方法是在用户第一次打开应用程序时安排它,然后总是强制重新安排,因为我不能相信用户每天都打开我的应用程序(由于我的应用程序的性质,当然不会发生)。
那么,我应该坚持使用 BroadcastReceiver 还是使用 Android 5.0+ 的 JobScheduler?
在使用 JobScheduler 的情况下,我是否应该只安排一次作业,然后总是返回 true 以强制重新安排?
谢谢你。