AlarmManagerで複数日時を指定する場合の短縮方法について
現在、AlarmManagerを使い指定した日時に通知を出すアプリを制作しています。
しかし、指定する日時が多く一つ一つに年、月、日、時を指定するとコードがとても長くなり管理しにくくなってしまいます。
そこで日時の指定を短くしたり、1行で指定する方法を探しています。
どうしたら良いでしょうか?
ちなみに繰り返しで処理をすることは指定日に法則性がないために指定できません
以下サンプルコード
Intent intent0 = new Intent(getApplicationContext(), AlarmReceiver.class);
intent0.setType("intent0");
PendingIntent sender0 = PendingIntent.getBroadcast(getApplicationContext(), 0, intent0, 0);
Calendar calendar0 = Calendar.getInstance();
calendar0.set(Calendar.YEAR, 2016);
calendar0.set(Calendar.MONTH, Calendar.SEPTEMBER);
calendar0.set(Calendar.DATE, 27);
calendar0.set(Calendar.HOUR_OF_DAY, 12);
calendar0.set(Calendar.MINUTE, 00);
calendar0.set(Calendar.SECOND, 0);
calendar0.set(Calendar.MILLISECOND, 0);
AlarmManager alarmManager0 = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager0.set(AlarmManager.RTC_WAKEUP, calendar0.getTimeInMillis(), sender0);
Intent intent1 = new Intent(getApplicationContext(), AlarmReceiver.class);
intent1.setType("intent1");
PendingIntent sender1 = PendingIntent.getBroadcast(getApplicationContext(), 0, intent1, 0);
Calendar calendar1 = Calendar.getInstance();
calendar1.set(Calendar.YEAR, 2016);
calendar1.set(Calendar.MONTH, Calendar.SEPTEMBER);
calendar1.set(Calendar.DATE, 27);
calendar1.set(Calendar.HOUR_OF_DAY, 12);
calendar1.set(Calendar.MINUTE, 40);
calendar1.set(Calendar.SECOND, 0);
calendar1.set(Calendar.MILLISECOND, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar1.getTimeInMillis(), sender1);