问题
Problem:
The user can choose how long and when start to track your locaton (Like today from 08:00 to 16:00). So during this interval my application will listen for the location every 5 minutes (this time can be changed, it's a user's preference).
What I'm thinking:
Making a service to be running and listenning for coming of the GPS or network locations during the time interval definned by the user.
Problem:
The service can be removed for running a long time?
I need to registers listeners to GPS and Network (even if they have not enabled) when starting the service or I need to register and remove Listener depending status of GPS and Network?
My service will continue running even if the user is not using the phone for a long time (like an hour) right?
回答1:
You don't need to register a Service for this. You can use Mak Murphy's cwac-locpoll library.
This is a short description of the library taken from the page linked above. You'll also find code examples there.
You simply set up an AlarmManager alarm to contact LocationPoller on whatever frequency you wish, and it will handle all of the location work from there, sending you the results via a broadcast Intent. Your BroadcastReceiver can then use the location data as needed.
来源:https://stackoverflow.com/questions/13219285/tracking-user-location