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)
ます。