あなたはこのように試すことができます:
ArrayList<Calendar> alarmTimes = getAlarmTimes(); //Make your own function which returns alarm times as an array of Calendar type
for(int i=0; i<alarmTimes.size(); i++)
{
Intent intent = new Intent(this, YourClass.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT | Intent.FILL_IN_DATA);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmTimes[i].getTimeInMillis(), pendingIntent);
}
各アラームを個別に処理する場合は、アラームごとに異なるrequestCodeを使用します。また、 alarmManager.set()関数で使用されているさまざまなフラグを確認することもできます。アプリケーションのニーズに応じてそれらを変更します。
http://developer.android.com/reference/android/app/PendingIntent.html
アラームが鳴ったときにやりたいことをすべて処理するAlarmReceiverクラスを作成する必要があります(AndroidManifestにこのクラスをレシーバーとして追加してください)。アラームと一緒に追加情報を送信する場合は、次のようなインテントエクストラを使用します。
intent.putExtra("info1", value1);
intent.putExtra("info2", value2);
ここで、info1は追加データの名前であり、value1は送信する値です。
お役に立てれば!
編集:
ArrayList<Calendar> alarmTimes = new ArrayList<Calendar>();
Calendar calendar = Calendar.getInstance();
calendar.set(CALENDAR.MONTH, 7);
calendar.set(CALENDAR.DAY_OF_MONTH, 17);
calendar.set(CALENDAR.HOUR_OF_DAY, 13);
calendar.set(CALENDAR.MINUTE, 0);
alarmTimes.add(calendar);
//Repeat the above code for all alarm times and then return array object
return alarmTimes;