Android AlarmManager 设置功能不起作用?

标签 android alarm alarmmanager

我想添加一个闹钟,所以我使用了下面的代码:

    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/

相关文章:

ios - 本地通知每 30 秒重复一次

android - 识别并取消发送到 AlarmManager 的警报

android - 当应用程序未运行时,无法在 intentservice 上使用 Picasso 目标获取图像位图

android - Galaxy Tab 和基于标记的增强现实

android - Google Android 上的闹钟

java - 如何保护我的 Android 应用程序中同步的数据?

android - 使用 AlarmManager 执行重复性任务

java - 在广播接收器中使用 setExact() 重复

android - 关于 getContentResolver() 查询 CallLog

android - 如何在android中创建多个按钮