Android sendEmptyMessageAtTime问题
我定义的处理程序没有获得sendEmptyMessageAtTime的消息集。我从updateTime.getTimeInMillis获得的时间是有效的。我错过了什么Android sendEmptyMessageAtTime问题,android,Android,我定义的处理程序没有获得sendEmptyMessageAtTime的消息集。我从updateTime.getTimeInMillis获得的时间是有效的。我错过了什么 @Override protected void onResume() { super.onResume(); mNavigationBarFragment.configureFor(0); Calendar updateTime = Calendar.getInstance(); updateTi
@Override
protected void onResume() {
super.onResume();
mNavigationBarFragment.configureFor(0);
Calendar updateTime = Calendar.getInstance();
updateTime.set(Calendar.YEAR, 2012);
updateTime.set(Calendar.HOUR_OF_DAY, 18);
updateTime.set(Calendar.MINUTE, 40);
updateTime.set(Calendar.SECOND, 0);
if(mUpdateOnAirLabel.sendEmptyMessageAtTime(1, updateTime.getTimeInMillis())){
// messages gets placed
}
}
private Handler mUpdateOnAirLabel = new Handler() {
public void dispatchMessage(android.os.Message msg) {
// doesn't get triggered
}
public void handleMessage(android.os.Message msg) {
// doesn't get triggered
}
};
UPD
我从calendar对象获得的时间是正确的:
<?php
echo date("r", 1348753200578 / 1000);
而且它也不会触发。这里怎么了?您没有指定日期!把日历,年历或者类似的东西放进去 您没有指定日期!把日历,年历或者类似的东西放进去 阅读sendEmptyMessageAtTime文档发送仅包含what值的消息,在特定时间发送。那又怎样?那么,参数是uptimeMillis。在文档中再深入一点,它说:时基是uptimeMillis,你是说我不能用这个方法使用日历?那么我该如何安排闹钟呢?精确地说,与正常运行时间的偏差。使用uptimeMillis而不是now.GetTimeInMillis读取sendEmptyMessageAtTime文档发送仅包含what值的消息,该消息将在特定时间传递。那又怎样?那么,参数是uptimeMillis。在文档中再深入一点,它说:时基是uptimeMillis,你是说我不能用这个方法使用日历?那么我该如何安排闹钟呢?精确地说,与正常运行时间的偏差。使用uptimeMillis而不是now.GetTimeInMilli不确定它是否会工作,因为我从calendar对象获得的时间是正确的,但是我的处理程序不工作;无需指定日期,因为getInstance from calendar返回使用当前时间的日历。由于我从calendar对象获取的时间正确,因此不确定它是否会工作,但我的处理程序不工作;无需指定日期,因为getInstance from calendar使用当前时间返回日历。
Calendar now = Calendar.getInstance();
long nowt = now.getTimeInMillis();
if(mUpdateOnAirLabel.sendEmptyMessageAtTime(1, now.getTimeInMillis() + 5000)){
...
}