如何在日历中的特定日期设置警报

时间:2014-08-11 17:59:26

标签: android calendar

我需要在我的应用中将警报设置为从日历中选择的特定日期吗?正如我所注意到的,Alarm并没有这样的方法。我知道我可以使用这个日历并设置此日期剩余的时间金额。但是,例如,如果用户更改日期,会发生什么? 也许这个问题很愚蠢,抱歉,我是新手。

1 个答案:

答案 0 :(得分:0)

通过使用AlarmManager类,您应该能够这样做:

http://developer.android.com/reference/android/app/AlarmManager.html

使用public void set (int type, long triggerAtTime, PendingIntent operation)设置触发时间。

使用void setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)安排重复闹铃。

以下是您如何使用指定的(date,hoursOfDay,minute,seconds甚至millis)执行此操作:

   AlarmManager mAlarmManager = (AlarmMAnager)  Context.getSystemService(Context.ALARM_SERVICE);
   Calendar mCal = Calendar.getInstance();
   Calendar mCalSet = (Calendar) mCal.clone();

   mCalSet.set(Calendar.HOUR_OF_DAY, hourOfDay);
   mCalSet.set(Calendar.MINUTE, minute);
   mCalSet.set(Calendar.SECOND, second);
   mCalSet.set(Calendar.MILLISECOND, millis);

   if(calSet.compareTo(calNow) <= 0){
    //Today Set time passed, count to tomorrow
    mCalSet.add(Calendar.DATE, 1);
   }

   mAlarmManager.set(AlarmManager.RTC_WAKEUP, mCalSet.getTimeInMillis(), yourOperation);