如何在android中没有系统和服务器的情况下获取当前日期和时间(IST)?

时间:2015-04-24 12:04:01

标签: java android

我们正在开发一个Android应用程序,我们需要当前的日期和时间。我们使用API​​从服务器获取日期和时间。但我们并不想一直沟通。实际上,我们有3个标签。在每个选项卡上,我们都要求服务器提供日期和时间。我们在每个选项卡上都有时间。如果当前时间是下午4:50,我们正在以这种方式填充下拉,然后我们以半小时间隔(即下午5:30 PM,下午6:30,下午6:30,下午7:00等)填充下拉。由于这个原因,标签滑动变得蹩脚。当我在下一个选项卡上滑动时,然后在后台调用服务器以获取日期和时间。直到它没有获得当前的日期和时间。我的申请被绞死了。

我们无法使用系统的日期和时间。因为用户可以更改设备的日期和时间。

我甚至检查过网络提供商。它提供SIM卡。它仅适用于Wi-Fi设备。

有没有办法获得当前的日期和时间?

提前致谢!

PRASHANT。

4 个答案:

答案 0 :(得分:3)

您可以在连接到服务器时验证时间和日期,并将差异与系统日期一起注册。

然后,您将能够使用该下拉列表填充下拉列表,并在从服务器接收更新时更正下拉列表。

答案 1 :(得分:1)

只是一个消息,而且我不是Android开发者,所以如果我错了,请纠正我!

http://developer.android.com/reference/android/os/SystemClock.html

您可以使用系统中的uptimeMillis。

当应用程序启动时,调用服务器获取实际时间,之后,使用uptimeMillis中的差异来计算确切的日期和时间,而无需额外的服务器调用。

出于好奇(因为我不是Android开发人员) 如果用户打开应用程序,计算timediff,移动app te background,更改设备时间然后重新打开相同的"实例"会发生什么?来自背景?

答案 2 :(得分:0)

可能有帮助

Time today = new Time(Time.getCurrentTimezone());
today.setToNow();

不太确定,但值得一试,因为我的设备是在wifi上,这适用于没有SIM卡的平板电脑

答案 3 :(得分:0)

在启动时只从服务器获取一次时间,在本地保存设备时间的差异,从这里你可以根据设备时间推断出其他所需的时间:

标签时间=设备时间 - 服务器时间差异+标签差异时间