
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导致时间设置不正确.
解决方法 这样就可以从“未答复”列表中删除:总结I was setting Calendar.HOUR instead of HOUR_OF_DAY which was causing the time to be set incorrectly.
以上是内存溢出为你收集整理的Android AlarmManager在错误的时间触发全部内容,希望文章能够帮你解决Android AlarmManager在错误的时间触发所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)