在 android 中设置没有 DateTime 和 TimePicker 的闹钟
Set Alarm without DateTime and TimePicker in android
我想在没有日期时间选择器和时间选择器的情况下设置闹钟。它总是显示无效时间。这是我的代码
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);
}
您确定运行此代码的参数正确吗?因为我已经尝试过你的代码并且它对我有用(我的意思是我从来没有进入 "Invalid Date/Time" 块)。我做了一些修改:
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);
}
}
首先,您要在当前时间加上两分钟。如果条件无论如何都不能为真。 if 语句没用,去掉它,用下面的代码肯定能帮到你!
public void setClockTimeScheduler(Context ctx){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE,2);
setAlarmScheduler(cal, ctx);
}
我想在没有日期时间选择器和时间选择器的情况下设置闹钟。它总是显示无效时间。这是我的代码
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);
}
您确定运行此代码的参数正确吗?因为我已经尝试过你的代码并且它对我有用(我的意思是我从来没有进入 "Invalid Date/Time" 块)。我做了一些修改:
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);
}
}
首先,您要在当前时间加上两分钟。如果条件无论如何都不能为真。 if 语句没用,去掉它,用下面的代码肯定能帮到你!
public void setClockTimeScheduler(Context ctx){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE,2);
setAlarmScheduler(cal, ctx);
}