Android開発は初めてです。現在To-Doイベントアプリを開発中です。
このアプリでは、Pending Intent を使用して通知を設定しています。これで私はAlarmManagerを使用しています。アラームを設定した後、通知は正確な時間に発生します。
注: 保留中のインテントでは、一意の ID を使用しました (ここでの一意の ID は、データベースから行レコード ID を取得することを意味します)。
ここで私の問題は、AlarmManagerを更新しているときに、通知が正確な時間に来ないことです。AlarmManagerを更新した後に発生します。
私の更新コードは次のとおりです。
private void updateAlarm(int year,int month,int date,int hour,int minute,int second,String event_id,String e_desc)
{
AlarmManager alarmManager = (AlarmManager) this.getSystemService(this.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.set(year, month-1, date, hour, minute, second);
long when = calendar.getTimeInMillis(); // notification time
String event_desc = e_desc;
Intent intent = new Intent(this, ReminderContent.class);
intent.putExtra("EventDesc", e_desc);
int alarm_id = Integer.valueOf(event_id);
//alarm_id is the Id of PendingIntent which is already created.
PendingIntent pendingInt = PendingIntent.getBroadcast(this, alarm_id , intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC, when, pendingInt);
}
AlarmManagerを更新する手順は正しいですか?