【发布时间】:2025-12-17 21:55:01
【问题描述】:
我有一个TimerTask 对象timerTask。我的代码正在运行,但是当服务最初启动时,我的计时器任务会在指定时间之前立即运行,即下午 3:30,尽管我希望它每天只在下午 3:30 运行一次。
Calendar cal = Calendar.getInstance();
cal.set(Calendar.AM_PM, Calendar.PM);
cal.set(Calendar.HOUR, 3);
cal.set(Calendar.MINUTE, 30);
cal.set(Calendar.SECOND, 0);
Date date = cal.getTime();
timer.schedule(timerTask, date, 1000*60*60*24); // once per day
【问题讨论】:
-
不要不要为此使用
TimerTask。您的进程将在这一天过去很久之前终止。使用AlarmManager。 -
但是我正在动态更改指定时间并从数据库中获取它,当我的警报管理器开始活动时,我将如何获得新时间。
标签: android service timer android-service timertask