0

アプリにこのコードがあります

Calendar calendar = Calendar.getInstance();

          calendar.set(Calendar.HOUR_OF_DAY, 11);
          calendar.set(Calendar.MINUTE, 30);
          calendar.set(Calendar.SECOND, 0);
          calendar.set(Calendar.AM_PM,Calendar.AM);
        //Debug!!!!!
        //calendar.set(Calendar.SECOND, Calendar.SECOND+5);
          Intent myIntent = new Intent(MainActivity.this, MyReceiver.class);
          pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent,0);

          AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
          alarmManager.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY ,pendingIntent);

理論的には、毎日午前 11 時 30 分にアラームを設定しますが、実際には、アプリケーションが起動するたびに、またはメイン アクティビティに戻ったときにこのアラームが発生します。毎日この特定の時刻にこのアラームを表示したい

4

3 に答える 3

3

Calendarこれは、オブジェクトを過去に設定しているため、現在の時刻が午前 11 時 30 分を過ぎるとすぐに起動します。

Calendar解決策の 1 つは、現在の時刻 ( )と比較し、過去System.currentTimeMillis()の日付の場合は 1 日を追加することです。Calendar

于 2013-09-20T12:50:35.323 に答える