4

アラームアプリケーションを構築しようとしています。以前はアラームが機能していましたが、さまざまな時間を設定でき、アラームは適切に鳴りました。次に、ChangeAlarmActivity のレイアウトを TableLayout に変更しましたが、動作しませんか? コードには触れていません。アラームを設定する方法は次のとおりです。

Intent alarmIntent = new Intent(ChangeAlarmActivity.this, AlarmReceiver.class);
PendingIntent pendingAlarmIntent = PendingIntent.getBroadcast(ChangeAlarmActivity.this, (int)alarm.getID(),
        alarmIntent, 0);

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
System.out.println("Alarm time: " + hour + ":" + min);
Calendar alarmCal = Calendar.getInstance();
//alarmCal.setTimeInMillis(System.currentTimeMillis());
alarmCal.set(Calendar.HOUR_OF_DAY, hour);  
alarmCal.set(Calendar.MINUTE, min);        
//alarmCal.set(Calendar.SECOND, 0);

alarmManager.set(AlarmManager.RTC_WAKEUP,
        alarmCal.getTimeInMillis(),
        pendingAlarmIntent);
4

1 に答える 1

19

時間と分が過去のものである可能性があります。

現在のタイムゾーンで 16:07 時間 (24 時間制を使用) であり、このコードをhouras3およびminasで実行するとし27ます。03:27 は過去の時間なので、アラームはすぐに鳴ります。

2 回set()電話をかけた後、時刻が今より早いかどうかを確認します。そうであれば、add()1 日早くなります。

于 2013-04-24T20:08:11.537 に答える