我定义的处理程序没有使用 sendEmptyMessageAtTime 设置消息。我从 updateTime.getTimeInMillis 得到的时间是有效的。我在这里想念什么?
@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 我从日历对象得到的时间是正确的:
<?php
echo date("r", 1348753200578 / 1000);
输出:2012 年 9 月 27 日星期四 17:40:00 +0400
之后,我尝试从当前时间戳偏移
Calendar now = Calendar.getInstance();
long nowt = now.getTimeInMillis();
if(mUpdateOnAirLabel.sendEmptyMessageAtTime(1, now.getTimeInMillis() + 5000)){
...
}
它也没有触发。这里有什么问题?