我使用 ArlamManager 创建提醒
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),10000,sender);
现在我想限制从现在(06/20/2013)到两天(06/22/2013)重复的时间
谢谢
我使用 ArlamManager 创建提醒
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),10000,sender);
现在我想限制从现在(06/20/2013)到两天(06/22/2013)重复的时间
谢谢
可能还有其他方法可以做到这一点,但我想到的第一件事是检查您Receiver
的 sonReceive()
方法中的日期。如果日期<目标日期,则运行您的代码,如果不是,则取消警报
设置警报时,设置您希望它停止的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
}