在android中设置没有日期时间和时间选择器的报警
我想设置没有日期时间选择器和时间选择器的报警。它总是显示无效时间。这是我的密码在android中设置没有日期时间和时间选择器的报警,android,android-alarms,Android,Android Alarms,我想设置没有日期时间选择器和时间选择器的报警。它总是显示无效时间。这是我的密码 public void setClockTimeScheduler(Context ctx) { // TODO Auto-generated method stub Calendar current = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
public void setClockTimeScheduler(Context ctx) {
// TODO Auto-generated method stub
Calendar current = Calendar.getInstance();
Calendar cal = Calendar.getInstance();
cal.set(cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH),
cal.get(Calendar.DAY_OF_MONTH),
cal.get(Calendar.HOUR),
cal.get(Calendar.MINUTE)+2, 00);
if(cal.compareTo(current) <= 0){
//The set Date/Time already passed
Toast.makeText(ctx, "Invalid Date/Time"+cal.compareTo(current)+"Or"+current,
Toast.LENGTH_LONG).show();
}else{
setAlarmScheduler(cal,ctx);
}
public void setClockTimeScheduler(上下文ctx){
//TODO自动生成的方法存根
当前日历=Calendar.getInstance();
Calendar cal=Calendar.getInstance();
校准设置(校准获取(日历年),
cal.get(日历月),
cal.get(日历日/月日),
cal.get(日历小时),
cal.get(日历分钟)+2,00);
如果(cal.compareTo(current)您确定使用正确的参数运行此代码吗?因为我尝试了您的代码,它对我有效(我的意思是我从未进入“无效日期/时间”块)。我做了一些修改:
public void setClockTimeScheduler(Context ctx){
Calendar current = Calendar.getInstance();
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MINUTE, current.get(Calendar.MINUTE)+2);
if(cal.compareTo(current) <= 0){
//The set Date/Time already passed
Log.d("MainActivity", "Invalid Date/Time" + cal.compareTo(current) + "Or" + current);
}else{
// setAlarmScheduler(cal, ctx);
}
}
public void setClockTimeScheduler(上下文ctx){
当前日历=Calendar.getInstance();
Calendar cal=Calendar.getInstance();
校准设置(Calendar.MINUTE,current.get(Calendar.MINUTE)+2);
if(cal.compareTo(current)首先,您要在当前时间内添加两分钟。if条件无论如何都不能为真。if语句无效,请删除它并使用下面的代码,它肯定会对您有所帮助
public void setClockTimeScheduler(Context ctx){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE,2);
setAlarmScheduler(cal, ctx);
}
你想做什么…无法理解我正在添加当前时间+2分钟并设置警报。因此每2分钟后都会有一些事件触发。你能用日期时间实现它并尝试比较一下吗。我不理解这个代码cal.set(Calendar.MINUTE,current.get(Calendar.MINUTE)+2);它和你做的一样:“cal.set(Calendar.get(Calendar.YEAR)、cal.get(Calendar.MONTH)、cal.get(Calendar.DAY\u OF_MONTH)、cal.get(Calendar.HOUR)、cal.get(Calendar.MINUTE)+2,00);“只需不重置秒数即可;”我的TOAST仍然无效,请在调用此方法的位置共享您的代码,以及setAlarmScheduler函数!谢谢我的同事理解了您的代码,并且它工作正常。非常感谢。我已经勾选了您的答案。我没有15个回复。