Location/Tracking App for Android

This project received 49 bids from talented freelancers with an average bid price of $824 USD.

Get free quotes for a project like this
Employer working
Project Budget
$30 - $250 USD
Total Bids
Project Description

We are looking for a simple app, like a service running in the background that will track the smart phone. User will not interact with the app.

The app must run just during a configurable period (like 8am - 2pm). Out of the period the app could be on hold/stand by. By default, it will run 24hs (0:00am - 11:59pm)

> When this period start (every day) or app start:
1) Check our ValidateService (POST+JSON) = datetime of last configuration (null if default) + imei + phonenumber + androidversion
1.1) If it returns UPDATE, it will include a new configuration file (JSON format) and app must replace/refresh the current;
1.2) If it returns REJECT, user must see a simple alert (text tbd) to contact us, and the app must stop; User will need to restart the device to recheck;
1.3) if it returns OK, go ahead, nothing to do! ;)

> When the period start:
1) Notify our NotificationService (POST+JSON) = USER_ON + datetime + imei 1) Turn GPS on

> During the period, every X (default 60) seconds:
1) Get the Position = location (lat and long) based on GPS and/or GSM (Fine Location) + datetime + Activity State (Moving or not for e.g.) + GPS Fixed + gsm signal (number) + battery power (%)
2) Sent the Position + imei to our PositionService (POST+JSON)

> During the period, if user turn on/off the mobile phone:
1) Notify our NotificationService (POST+JSON) = MOBILE_ON/MOBILE_OFF + datetime + imei

> During the period, if user turn on/off the gps:
1) Notify our NotificationService (POST+JSON) = GPS_ON/GPS_OFF + datetime + imei

> During the period, if user turn on/off the gsm data:
1) Notify our NotificationService (POST+JSON) = GSM_ON/GSM_OFF + datetime + imei

>When the period finish:
1) Notify our NotificationService (POST+JSON) = USER_OFF + datetime + imei 2) Turn GPS off

> Configuration File (JSON format):
This version, will contains only these fields: StartAt (HH:MM) - Default: 00:00
StopAt (HH:MM) - Default: 23:59
PositionUpdateInterval (Integer) - Default: 60

> Datetime
For all messages, the datetime must be when the message is generated; It must include the timezone.

> Avoiding Message Lost
If any error happen (e.g. sending a message to our services, device turning off), app must try to resend the message (or messages) on the next update. For Notification and Position Services, app must receive an "OK" or must try to resend it on the next update.

> Optimized
Please, avoid any battery drain! ;)
We would like to transfer the most simple data as possible. Cheap and fast traffic data!

> Your Recommendations
We are not mobile developers, so any recommendation will be appreciated, and we are able to adjust our scope for the best solution.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online