2012-05-05 14 views
0

アラームが指定時間の代わりにすぐに表示されるのはなぜですか?Androidアラームが即時にオフに設定されます

Intent myIntent = new Intent(Notepad.this, MyAlarmService.class); 
PendingIntent pendingIntent = PendingIntent.getService(Notepad.this, 0, myIntent, 0); 

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 
     Calendar calendar = Calendar.getInstance(); 
     calendar.setTimeInMillis(System.currentTimeMillis()); 
     calendar.set(Calendar.YEAR, 2012); 
     calendar.set(Calendar.MONTH, 4); 
     calendar.set(Calendar.DAY_OF_MONTH, 5); 
     calendar.set(Calendar.HOUR_OF_DAY, 10); 
     calendar.set(Calendar.MINUTE, 30); 
     calendar.set(Calendar.SECOND, 4); 
    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 

calendar.add(Calendar.SECOND, 5);のみを使用すると、5秒後にオフになります。ニコラス回答に基づいて

SOLUTIONは私に

 Date dat = new Date();//initializes to now 
     Calendar cal_alarm = Calendar.getInstance(); 
     Calendar cal_now = Calendar.getInstance(); 
     cal_now.setTime(dat); 
     cal_alarm.setTime(dat); 
     cal_alarm.set(Calendar.HOUR_OF_DAY,Integer.valueOf(h)); 
     cal_alarm.set(Calendar.MINUTE, Integer.valueOf(m)); 
     cal_alarm.set(Calendar.SECOND,0); 

     if(cal_alarm.before(cal_now)){ 
      cal_alarm.add(Calendar.DATE,1); 
     } 

答えて

1

あなたがアラーム時刻にカレンダーの日時を設定しているようです。おそらく、2つの異なるカレンダーを設定し、現在の時刻とアラーム時刻の時刻をそれぞれ1つずつ持つことができます。それは理にかなっていますか?

関連する問題