Is there a way to get the date & time from the network provider programmatically? Possibly in the same manner in which we get the location from the network provider.
You may need to use a custom NITZ or NTP Library
So just a heads up that Android uses NITZ events provided by a carrier to properly set the system date and time. Android also falls-back to network NTP automatically when no cellular network is available. http://en.wikipedia.org/wiki/NITZ The time provided by currentTimeMillis() will typically be the best available time, and it's what all of the services on the device use, like Calendar and Alarm Clock.
So just a heads up that Android uses NITZ events provided by a carrier to properly set the system date and time. Android also falls-back to network NTP automatically when no cellular network is available.
http://en.wikipedia.org/wiki/NITZ
The time provided by currentTimeMillis() will typically be the best available time, and it's what all of the services on the device use, like Calendar and Alarm Clock.
However
However the NTP API isn't somewhere that Java code can access, which means we're back to using an existing Java NTP/SNTP client library if we want an accurate time regardless of whether we are on a network that is NITZ capable.
Java NTP library
You can find a naive implementation of a Java NTP Library from
2.1m questions
2.1m answers
60 comments
57.0k users