在每个月的第一天拨打服务器

时间:2016-02-03 05:34:43

标签: android scheduled-tasks android-alarms

我正在构建游戏,现在我必须每月的第一天将用户分数发送到服务器

我有多个选项,比如

  • 定时器
  • 的ScheduledThreadPoolExecutor
  • 服务
  • 使用AlarmManager的BroadcastReciever。

但不确定使用哪一个。 原因如下:

我不认为闹钟计时器是最好的因为用户可以在每个月之后发出警报没有意义在任何日期安装应用

除此之外,我甚至无法将用户设备的日期检查为如果用户在设备上设置了错误的时间该怎么办?

如果用户在本月的第一天没有可用的互联网连接,或者如果他没有在第一个上启动应用程序,该怎么办?

我知道我们可以使用服务来解决这个问题,但是是否可以在后台运行服务,每月只需要一次

我检查了其他SO帖子,就像这个Scheduling recurring task in Android

一样

但它与我的情况不一样,因为我只需要在一个月内拨打一次电话。 感谢。

2 个答案:

答案 0 :(得分:3)

使用

AlarmManager is your best bet.

您的问题: -

在安排闹钟时检查当前日期并按时调整闹钟EX: - 如果今天是14天后的第17个预定闹钟。

关于获取当前日期,将当前日期放在服务器上并从那里获取

答案 1 :(得分:0)

在我看来,您应该在服务中编写服务并执行计时器,该计时器将在每24小时后执行一次,如果您不想从用户设备获取日期和时间,则可以使用google API或任何其他API用于获取时间,而不是决定应用是否需要更新分数。