我想添加一个警报,所以我使用了以下代码:
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
对象,这肯定是不正确的。