Android AlarmManager.setRepeating()
Android AlarmManager.setRepeating()
此代码有效吗?
alarmManager.setRepeating(alarmType, SystemClock.elapsedRealtime() + 15000, 15000, pendingIntent);
我需要在安装应用程序后每 15 分钟执行一次相同的任务。
简答:
没有,试试
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 时间。它 returns 它从启动时经过的时间。 SystemClock.currentTimeMillins()
是您在这种情况下所需要的。
此代码有效吗?
alarmManager.setRepeating(alarmType, SystemClock.elapsedRealtime() + 15000, 15000, pendingIntent);
我需要在安装应用程序后每 15 分钟执行一次相同的任务。
简答:
没有,试试
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 时间。它 returns 它从启动时经过的时间。 SystemClock.currentTimeMillins()
是您在这种情况下所需要的。