我正在使用 Commonsware 的 WakefulIntentService ( https://github.com/commonsguy/cwac-wakeful ) 在我的 Android 应用程序中触发定期作业(更新图像缓存)。到目前为止一切顺利,但我想添加一个不同的 WakefulIntentService,以不同的时间间隔做不同的工作。
我不确定我是否可以做到这一点以及如何做到这一点。目前,我正在安排这样的警报:
WakefulIntentService.scheduleAlarms(new CacheAlarmListener(), mContext, true);
CacheAlarmListener 的实现是这样的:
@Override
public void scheduleAlarms(AlarmManager alarmManager, PendingIntent pendingIntent, Context context) {
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 60000, AlarmManager.INTERVAL_HALF_HOUR, pendingIntent);
}
@Override
public void sendWakefulWork(Context context) {
WakefulIntentService.sendWakefulWork(context, CacheRefreshService.class);
}
查看源代码,getListener(Context) 方法AlarmReceiver
似乎找到并触发了单个 AlarmListener。我错了,还是有另一种方法来安排警报或设置不同的 PendingIntent?
基本上,我希望能够在方法中注册一个新的、单独的AlarmListener
,或者至少能够弄清楚WakefulIntentService
将作品发送到哪个sendWakefulWork(Context)
。