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