2

私が定義したハンドラーは、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)){
        ...
}

そして、それはどちらもトリガーしていません。ここで何が問題なのですか?

4

1 に答える 1

-1

曜日を指定しませんでした!Calendar.DAY_OF_YEAR またはそのようなものを入れてください!

于 2012-09-27T14:58:18.357 に答える