【问题标题】:How to set an Alarm in an Android App based on a server's current time?如何根据服务器的当前时间在 Android 应用中设置闹钟?
【发布时间】:2016-08-24 06:04:01
【问题描述】:

我正在构建一个基于我的应用程序的服务器时间设置警报的 Android 应用程序。

通过比较 GMT 和应用程序服务器时间,我试图创建警报。

例如:GMT = 10.30 am 和服务器时间 = 4.30 am,所以我需要在服务器时间 1 小时/2 小时后设置闹钟。

示例代码:

Calendar calender=Calendar.getInstance(TimeZone.getTimeZone("GMT"));
calender.set(Calendar.HOUR,-6); // my server running time is less than 6 hours of GMT time.
calender.set(Calendar.MINUTE,0);
calender.set(Calendar.SECOND,0);

谁能知道如何设置闹钟
如何设置闹钟?

【问题讨论】:

  • 您能否重新格式化您的问题,使其更清晰易懂?
  • 如何根据GMT时间设置闹钟

标签: android calendar alarmmanager android-pendingintent alarm


【解决方案1】:

据我了解,这是您需要做的。

  1. 获取 GMT 时区的日历对象。
  2. 获取当前时间。
  3. 为您的日历对象设置当前时间。
  4. 最后,给这个日历对象增加一小时。

以下是实现此目的的方法:

Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
long currentTime = System.currentTimeMillis();
calendar.setTimeInMillis(currentTime);
calendar.add(Calendar.HOUR, 1);

希望这会有所帮助!

【讨论】:

  • 如果我只按照这个作为服务器时间工作并设置闹钟时间,则无法工作。
  • @RameshC:您能否详细说明一下无法使用警报。?你看到了什么结果?
  • 如果从 GMT 时间减少服务器时间,警报会突然触发,如果我不减少服务器时间并添加分钟和秒,则警报会在适当的时间触发。谢谢回复..帮帮我....
  • 您是说如果您不为 HOUR 字段设置 -6 小时,它可以正常工作吗?很抱歉,但我无法理解您要说的内容..
  • 是的,如果我没有设置 -6 in hours 字段,它正在工作,但如果我添加它,警报将触发 appln run time itself,(突然)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-31
相关资源
最近更新 更多