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 回答