android alarmmanager如果设置过去的时间就会触发广播? 10
在学习一个android闹钟程序,发现alarmmanager如果设置过去的时间就会触发广播。(看来一下文档找到这么一句话:Ifthetimeoccursinthepas...
在学习一个android闹钟程序,发现alarmmanager如果设置过去的时间就会触发广播。(看来一下文档找到这么一句话:If the time occurs in the past, the alarm will be triggered immediately. )请问如何才能实现能设置过去的时间?(或者设置明天的时间)
按照这个例子做的:http://blog.csdn.net/wdaming1986/article/details/6705902 展开
按照这个例子做的:http://blog.csdn.net/wdaming1986/article/details/6705902 展开
7个回答
展开全部
虽然问题已经关闭,但忍不住回复你。明天的时间,怎么会是过去的时间?明明就是未来的时间。你以为今天16点大于明天早上8点?如果是,你就不了解Java的时间标识方法。Java为了存储方便,用long型数据表示1970.1.1凌晨0点0分0秒0毫秒到现在时间。
例如
1346829956843
表示:2012年09月05日 15时25分56秒843毫秒
1346891156843
表示:2012年09月06日 08时25分56秒843毫秒
所以明天的时间绝对是比今天大的。
AlarmManager.set(int type, long triggerAtTime, PendingIntent operation)函数里,triggerAtTime就是上述的long型。
例如
1346829956843
表示:2012年09月05日 15时25分56秒843毫秒
1346891156843
表示:2012年09月06日 08时25分56秒843毫秒
所以明天的时间绝对是比今天大的。
AlarmManager.set(int type, long triggerAtTime, PendingIntent operation)函数里,triggerAtTime就是上述的long型。
展开全部
android系统就是这样的,你可以在Calendar设置时间时做个判断,如果是过去的时间,就把Calendar的日期加一,这样就是第二天的闹钟了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
增加判断:
if(当前时间16点>你想设置的时间8点)
{
把当前日期加1.
}
if(当前时间16点>你想设置的时间8点)
{
把当前日期加1.
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改日期试试,我遇到一个这样的问题。就是立刻触发了,但系统闹钟不会,在找办法解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
作个判断就行啦,如果设置时间已经过去了,就不让他发送这个广播
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询