此代码是否有效?
alarmManager.setRepeating(alarmType, SystemClock.elapsedRealtime() + 15000, 15000, pendingIntent);
我需要在安装应用程序后每15分钟执行一次相同的任务。
答案 0 :(得分:0)
简短回答:
不,试试
long interval = 15 * 60 * 1000; // 15 minutes
alarmManager.setRepeating(alarmType, SystemClock.currentTimeMillis() + interval, interval, pendingIntent);
它将在发射15分钟后第一次激活,并且每15分钟激活一次。
答案很长:
好吧,我强烈推荐你official Android documentation。
如果查看AlarmManamger.setRepeating()method signature,您将看到它接受开始时间和间隔持续时间(以毫秒为单位)。更重要的是,它需要Unix时间作为开始时间。尽管SystemClock.elapsedRealtime()
以毫秒为单位提供时间,但它并没有为您提供Unix时间。返回从启动开始经过的时间。在这种情况下,您需要SystemClock.currentTimeMillins()
。