我想添加一个警报,所以我使用了以下代码:

    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);
}


知道我做错了什么吗?
谢谢!

最佳答案

也许alarm.getAlarmTime().toMillis(true)不在SystemClock.elapsedRealtime()的时基内。如果getAlarmTime()返回一个android.text.format.Time对象,这肯定是不正确的。

10-07 20:03
查看更多