android AlarmManager 在两次之间完成一项工作
Doing a job between two times by android AlarmManager
我想通过android AlarmManager 开始和完成一项重复性任务,但我只能在指定的时间开始。
如何设置任务的结束时间
样本:
开始 8:15
完成21:45
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR_OF_DAY,8);
cal.add(Calendar.MINUTE,15);
long time = cal.getTimeInMillis();
Intent i = new Intent(MainActivity.this, MyReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, i, 0);
am.setInexactRepeating(AlarmManager.RTC_WAKEUP,time,pi);
您不能为警报管理器指定结束时间,但您可以检查当前时间并决定是否执行该任务。因此,如果时间过去了 21:45,您只需简单地不做任何事情或取消它。
我想通过android AlarmManager 开始和完成一项重复性任务,但我只能在指定的时间开始。 如何设置任务的结束时间 样本: 开始 8:15 完成21:45
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR_OF_DAY,8);
cal.add(Calendar.MINUTE,15);
long time = cal.getTimeInMillis();
Intent i = new Intent(MainActivity.this, MyReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, i, 0);
am.setInexactRepeating(AlarmManager.RTC_WAKEUP,time,pi);
您不能为警报管理器指定结束时间,但您可以检查当前时间并决定是否执行该任务。因此,如果时间过去了 21:45,您只需简单地不做任何事情或取消它。