Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.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中设置没有日期时间和时间选择器的报警_Android_Android Alarms - Fatal编程技术网

在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个回复。