1

アラームを追加したいので、次のコードを使用しました。

    public void SetAlarm(Alarm alarm)
{
    mTimeTarget = PendingIntent.getBroadcast(mContext, alarm.getRowID(), 
            new Intent(HomeScreen.ACTION_CHECK_TIME_ALARMS), PendingIntent.FLAG_UPDATE_CURRENT);
    mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, alarm.getAlarmTime().toMillis(true), mTimeTarget);
}

しかし、これはうまくいかないようです。(エミュレーターを試してみましたが、その時が来ても何も起こりません - BroadcastReceiver を拡張するクラスの onReceive 関数が呼び出されません)。

コンストラクターで mAlarmManager を初期化する方法は次のとおりです (このクラスはシングルトンであるため、プライベートです)。

    private AlarmsManager(Context con)
{
    mContext = con;

    mAlarmManager = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
}

私が何を間違えたのか分かりますか?ありがとう!

4

1 に答える 1

1

のタイムalarm.getAlarmTime().toMillis(true)ベースにない可能性がありますSystemClock.elapsedRealtime()getAlarmTime()オブジェクトを返す場合android.text.format.Time、これは間違いなく正しくありません。

于 2010-10-19T22:22:02.483 に答える