1

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を更新する手順は正しいですか?

4

0 に答える 0