我有一个项目列表,我想几乎每天都发送通知。但不是在用户可能正在 sleep 的半夜。
可能是上午 8 点之后的任何时间。
我知道我需要通过 AlarmManager 使用它。
我非常熟悉 AlarmManager 的使用。
我只是不知道我的
AlarmManager.setRepeating();
方法看起来像我正在尝试做的事情。
我该怎么做?
您是否尝试阅读文档?
AlarmManager
一些提示。当您获得当前日期时,您可以将其转换为经过纪元时间的毫秒数。为了计算出 1 小时内的时间,您必须将 1 小时转换为毫秒。
My time = x;
其中 x 是自纪元以来以毫秒为单位的特定日期/时间。
如果我有兴趣将 1h 转换为毫秒,那么我会这样做 (1000ms = 1s)
1h = 60m = 60 * 60 = 3600s = 3,600,000ms
所以,
x = x+3,600,000
这将使 x 偏移一个小时。
您可以在 AlarmManager 中使用一组常量。
示例命令:
AlarmManager.setRepeating((type), (specific date in ms after epoch), (repeating interval), (The intent to fire))
我是一名优秀的程序员,十分优秀!