如何通过AlarmManager管理BroadcastReceiver?

时间:2013-10-24 05:37:43

标签: android alarmmanager android-broadcast

我有一个活动,这里有两个按钮:

  1. 按钮一,用于“选择闹钟时间”。当我点击它时出现TimePicker,我选择报警时间。

  2. 按钮2用于“设置警报”。当我点击它时,闹钟设置。

  3. 我在做什么:

    在设定的闹钟时间我将呼叫BroadcastReceiver。对于演示,我只打印我设置的警报时间和Toast

    中的字符串

    什么是查询:

    “如果我设置闹钟时间,如当前时间4.00 PM ,我设置闹钟时间6.00 PM 。在这种情况下,闹钟始终呼叫{{1} }它是BroadcastReceiver

    Work Fine

    如果当前时间是下午4点,我设置闹钟2.00 PM ,然后同时拨打BUT并且我不想这样做。 “

    对于AlarmManager,我使用此代码段:

    BroadCastReceiver

1 个答案:

答案 0 :(得分:0)

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR, 14);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND,0);

if(calendar.getTimeInMillis()<System.currentTimeMillis())
    {
        calendar.add(Calendar.DATE, 1);
    }
am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY, pendingIntent);
你可以做这样的事。