开发者

set the time in Alarm manager Android - alarm fired instantly [duplicate]

This question already has answers here: Closed 11 years ago.

Possible Duplicate:

Why is my android alarm manager firing instantly?

I have this code w开发者_开发技巧hich will call alarm notification

public static  Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.add(Calendar.HOUR_OF_DAY,hour);
cal.add(Calendar.MINUTE, min);
Intent intent = new Intent(this,  OnetimeAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, REQUEST_CODE, intent,0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis() , pendingIntent); 
Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show();

but the alarm is fired instantly , it dosent wait after the given hour and minutes ? should I add anything to to the manifest file ?


You use the current time to set the alarm. So it fires instantly.

Check the API. http://developer.android.com/reference/android/app/AlarmManager.html#set%28int,%20long,%20android.app.PendingIntent%29

There you pass the time when the alarm goes of as the second parameter. In your case this is the actual time. So you should add the amount of time you want to wait to the time your passing in the method right now.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜