Efficient Background service for tracking user location

android, batterylevel, geolocation, service

Solution

Previously i have developed such kind of application. with respect to your requirement, you will be require following APIs from Android.

- Location ( for Lat-lon information )

- AlarmManager ( to schedule an event to fetch lat-lon details on regular basis & upload data to remote server )

- Http ( an API to send lat-lon details to remote server )

- Android Service ( will allow to work in background )

- BroadcastReceiver ( additional , if you wan to start your application automatically on device boot )

Problem

I am developing a small android application in which I want to have Geolocation functionality. What I want to code is one service which gives the updated location of a user whether they are using my application or not. I know that if I am continuously checking the user's location it will drain the battery of the device, so I want good solution for that. For example, to give me updates every 5 or 10 minutes. I have read about this question a lot but I wanted to get one good solution. I read this page and it's a good solution if the user is using my application but if the user not using my application then what should I do? How do I solve this challenge?

Original source

Related problems