3

可能重复:
为什么我的 android 警报管理器会立即触发?

我有这个代码将调用警报通知

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

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

4

1 回答 1

3

您使用当前时间来设置闹钟。所以它会立即开火。

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

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

于 2010-10-23T12:17:48.033 回答