我需要在每天早上 5 点运行我的更新服务,以便在用户早上拿起手机时刷新数据。到目前为止我的代码是 -
Log.d(TAG, "setAutoRun");
AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, RefreshIntentService.class);
PendingIntent pendingI = PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar time = Calendar.getInstance();
time.setTimeInMillis(System.currentTimeMillis());
time.add(Calendar.SECOND, 60); // this was just to test out the alarm service
alarmMgr.set(AlarmManager.RTC, time.getTimeInMillis(), pendingI);
我如何修改它让它每天早上 5 点运行? 我知道我可以设置一个时间间隔,这样它会在 X 分钟后再次运行,但如果用户那时不打开它,我怎么能在凌晨 5 点启动它。
谢谢
最佳答案
我相信像这样编辑您的 Calendar params
应该可以工作并更改为 setRepeating()
Calendar time = Calendar.getInstance();
time.set(Calendar.HOUR_OF_DAY, 5);
alarmMgr.setRepeating(AlarmManager.RTC, time.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingI);
关于Android - 每天早上 5 点运行服务的闹钟管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15796552/