We have an Android client (or iphone) that we are developing. The client allows the android user to send entries to the server, which we are also developing. If the client does not have Data Transfer Services (GPRS) at the moment when the user sends the record to the server, the client also supports storing the record in a standalone database and its subsequent sending to the server.
One of the important aspects of the whole process is the accuracy of the timestamps to which the user sent the record to the server (regardless of whether the record was made in real time or sent by the client from the offline database)
When available on the client, we get the GPS location and can use the GPS timestamp to send it to the server (or save the GPS timestamp in a standalone database and send it later to the server). However, if the user turned off GPS (and all other location services), the device will not have a GPS fix, and therefore the server will not be able to determine exactly when the recording was made. We cannot use the local device’s clock, since the user can change the clock to take notes at different times than they actually were (these records are part of the users ’salaries, so they may be interested in“ fixing ”them).
So basically I'm looking for a way to determine how best I can, when some kind of recording was made, when I cannot trust the internal clock of a mobile device. The algorithm must support both records sent in real time, or records sent from a standalone database. the algorithm should also support cases when the user changes the travel time, turns the mobile phone on / off, turns GPS on / off when the application is running on a mobile device, etc.
A few ideas that I thought of:
- , :
, , , 1 1 . GPS . , , ( GPS), , .
PROS: , , GPS
CONS: GPS, - .
- ? 0, 1 . , / ,
. , ,