在警报管理器Android中设置时间 - 警报立即触发

时间:2010-10-23 12:11:25

标签: android time calendar alarm alarmmanager

  

可能重复:
  Why is my android alarm manager firing instantly?

我有这个代码,它会调用警报通知

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();

但警报立即被触发,它在给定的小时和分钟后等待? 我应该向清单文件添加任何内容吗?

1 个答案:

答案 0 :(得分:3)

您可以使用当前时间设置闹钟。所以它会立即发射。

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

在那里你通过警报作为第二个参数的时间。在你的情况下,这是实际时间。因此,您应该将您想要等待的时间添加到您现在传递方法的时间。