Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android AlarmManager在错误的时间触发大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在设置警报,警报管理器将在下午6点运行.如果已经是下午6点,我希望它在第二天下午6点运行.

AlarmManager manager = (AlarmManager) context.getSystemservice(Context.ALARM_serviCE);

        Calendar calendar = Calendar.geTinstance();

        if(calendar.get(Calendar.HOUR_OF_DAY) < 18) {
            calendar.set(Calendar.HOUR,18);
            calendar.set(Calendar.minutE,0);
        } else {
            // Set sync time
            calendar.add(Calendar.DATE,1);
            calendar.set(Calendar.HOUR,0);
        }       

        Intent alarmIntent = new Intent(context,AlarmReceiver.class);  
        alarmIntent.putExtra("syncmode","upload");

        PendingIntent pendingIntent = PendingIntent.getBroadcast(context,alarmIntent,PendingIntent.FLAG_updatE_CURRENT);

        manager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent);

我有6个Android平板电脑都运行相同的确切代码,有些在正确的时间醒来,有些则在几小时后运行.我检查了时区,一切都匹配. AlarmManager的文档说使用UTC时间设置警报,但实际上我使用的是当地时间,正在工作的是正确的时间.其他人在时间前4小时开火.我究竟做错了什么?

编辑:我无法回答我自己的问题所以,我设置Calendar.HOUR而不是HOUR_OF_DAY导致时间设置不正确.

解决方法

这样就可以从“未答复”列表中删除

大佬总结

以上是大佬教程为你收集整理的Android AlarmManager在错误的时间触发全部内容,希望文章能够帮你解决Android AlarmManager在错误的时间触发所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。