如何限制AlarmManager重复Android的时间

时间:2013-06-20 14:28:54

标签: android alarmmanager

我使用AlarmManager创建提醒

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);

am.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),10000,sender);

现在我想要从现在(2013年6月20日)到两天(2013年6月22日)重播的时间限制

谢谢

1 个答案:

答案 0 :(得分:0)

可能有其他方法可以做到这一点,但我想到的第一件事是检查Receiver onReceive()方法中的日期。如果日期是<目标日期然后运行您的代码,如果没有,然后取消警报

设置闹钟时,在SharedPreference中设置您希望停止的日期,并在运行代码前检查该日期

@Override
public void onReceive(Context context, Intent intent) 
{
    SharedPreferences datePref = context.getSharedPreferences("stopDate", 0);
    // get the current date hear using a Calendar Object and compare it to datePref
    if (datePref < currentDate)
    {
        ...
    }
    else
    {
      //  recreate the PendingIntent and cancel the alarm with AlarmManagers cancel() funciton
    }