Android GPS Time Sync
Requires ROOT access!
This is a little Android app that takes the time from GPS satellites and sets it as the system time. It does require root unfortunately. There's not much else to it, make sure the GPS is on in the settings and you get asked about giving root access, choose yes. If it's not setting the time or it's the wrong time, it may not have a GPS lock yet. If the GPS is locked on and still giving bad times, make sure it has permission to use the GPS in the system settings and GPS is on. In Android Kitkat, you need to set the Location Mode to "High Accuracy" or "Device sensors only" to turn on the GPS. In later Androids, you just need to set Location to "On". The app is setup as an accessibility service because a regular service doesn't start automatically on boot. Minimum Android version is 4.4 kitkat so it can run on a Odroid C1+ which uses kitkat still. Automatic time updates through the internet needs to be turned off so it doesn't interfere with this app.
This app was created for a DIY car stereo project. The device is an Odroid C1+ with a 5 inch touchscreen. It will not have internet unless I connect my phone and use it's internet (wifi tethering). So the best place to get the time and date without the internet is from the GPS satellites. This app can be used for any project that needs to keep good time. The time may be off by several seconds, I did not take to account any little delays involved with getting the exact time down to the nano second. It should be close though.
Try an Odroid for your
next Android project: