我想添加一个闹钟,所以我使用了下面的代码:
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)的,因为此类是单例的):
private AlarmsManager(Context con)
{
mContext = con;
mAlarmManager = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
}
知道我做错了什么吗? 谢谢!
最佳答案
也许 alarm.getAlarmTime().toMillis(true)
不在 SystemClock.elapsedRealtime()
的时基中。如果 getAlarmTime()
返回一个 android.text.format.Time
对象,这肯定是不正确的。
关于Android AlarmManager 设置功能不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3972581/