我对这些时间格式感到很困惑:
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10 * 1000), (24 * 60 * 60 * 1000), alarmIntent);
或
alarmMgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 60*1000, alarmIntent);
什么是60*1000
和(10 * 1000), (24 * 60 * 60 * 1000)
。有人可以向我解释一下吗?
答案 0 :(得分:1)
参考AlarmManager API的官方文档(找到here),这些数字用于定义警报应该被设置的时间。因此,数字(10 * 1000)表示添加到系统当前时间的时间(以毫秒为单位)(或简单为10秒)(同样以毫秒为单位)。因此,在这种情况下,警报将在发出命令后10秒(当前系统时间+ 10秒)启动。
第二个参数(24 * 60 * 60 * 1000)表示1天的时间(24小时,60分钟,60秒和每秒1000毫秒)。由于未指定完整表达式,我无法确定此参数的确切含义。
在第二个表达式中,60 * 1000代表1分钟(60 * 1000 = 60000毫秒= 1分钟)
随意发表您对这些数字含义的疑虑。