4

これが私のコードです:

cal.set(Calendar.YEAR, Calendar.MONTH, Calendar.DAY_OF_MONTH, hourOfDay, minute,Calendar.SECOND);

Intent intent=new Intent(FaceActivity.this,AlarmReceiver.class);
        PendingIntent pendingIntent=PendingIntent.getBroadcast(FaceActivity.this, 0, intent, 0);
        AlarmManager alarmManager=(AlarmManager) getSystemService(ALARM_SERVICE);
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);

ここで hourOfDay は、現在の時刻から 1 時間経過したものです。分は同じ値になる場合があります。

ここで cal.getTimeInMillis() は、現在の時刻から 1 時間経過した時刻に設定されます。しかし、このコードを実行すると、ブロードキャスト レシーバーがすぐに呼び出されます。何が間違っているのか、誰にもわかりますか? 前もって感謝します...

4

1 に答える 1

2

YearMonthDay、の間違った値を取得していましたSecond

以下のコードを使用すると、完全に正常に動作します。

cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), hourOfDay, minute,cal.get(Calendar.SECOND));
于 2012-10-16T10:52:05.507 に答える