Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中使用alarm manager调用过去一段时间的报警?_Android - Fatal编程技术网

如何在android中使用alarm manager调用过去一段时间的报警?

如何在android中使用alarm manager调用过去一段时间的报警?,android,Android,我正在使用报警管理器来调用报警。在这里,我试图为过去的时间调用警报,这意味着我在上午10点和11点给出了时间。警报立即响起。但我需要在第二天上午10点调用它。请提供在第二天或过去调用报警的方法 请建议我您需要在23小时内调用它。。。不在-1小时内。即时调用过去时间警报 Date dat = new Date();//initializes to now Calendar cal_alarm = Calendar.getInstance(); Calendar cal_now = Calend

我正在使用报警管理器来调用报警。在这里,我试图为过去的时间调用警报,这意味着我在上午10点和11点给出了时间。警报立即响起。但我需要在第二天上午10点调用它。请提供在第二天或过去调用报警的方法


请建议我

您需要在23小时内调用它。。。不在-1小时内。即时调用过去时间警报

 Date dat  = new Date();//initializes to now
Calendar cal_alarm = Calendar.getInstance();
Calendar cal_now = Calendar.getInstance();
cal_now.setTime(dat);
cal_alarm.setTime(dat);
cal_alarm.set(Calendar.HOUR_OF_DAY,5);//set the alarm time
cal_alarm.set(Calendar.MINUTE, 59);
cal_alarm.set(Calendar.SECOND,0);
if(cal_alarm.before(cal_now)){//if its in the past increment
    cal_alarm.add(Calendar.DATE,1);
}
//SET YOUR AlarmManager here
这会解决你的问题
在本例中,我们将“现在时间”与“设置时间”进行比较,这将在您的报警管理器中添加一个日期

请建议我哪种方法是良好的报警。设置(,);或报警。重复(,,);如果希望警报在每个固定时间(例如每24小时)重复出现,请使用alarm.setRepeating。如果您想要一个一次性报警,请使用另一个报警设置器。我可以使用此代码调用过去时间的报警int rem=剩余时间;Handler h=新的Handler();h、 后延迟(r,rem)//这里rem值是调用报警Runnable r=new Runnable(){@Override public void run(){Calendar Calendar=Calendar.getInstance();alarmObject.setRepeating(AlarmManager.RTC_WAKEUP,Calendar.getTimeInMillis(),24*60*60*1000,sender);}的剩余时间,或者是使用alarmObject设置报警过去时间的其他方法吗?请推荐我。