XCRetrieve is an android app allowing you to share your location with your friends even when you are not able to answer the phone. This is aimed mostly at outdoor activities. Simply share a code and whenever you recieve a message containing it, your phone will respond with your coordinates. You can pick contacts allowed to request your position and toggle this service on/off any time with a single tap.

Features include:
  • Position sent based on GPS readings. If GPS is not available, less precise location based on available networks is used. In such case a "NON-GPS" phrase will be included in the response to mark the position may not be accurate.
  • Speed and direction headed is sent based on 2 GPS readings in a 60 second interval. This gives ava more reliable values compared to reading from a single point in time.
  • GPS altitude is included
  • You can manualy send a message with your position. This option will allow you to select the method to share the message (SMS, MMS, email, etc.)
  • A movment index value is sent, it gives an estimate of how much movement was applied on the accelerometer. This value is for estimation purposes and recieved readings may vary depending on the accolometer hardware used in your device.
  • If a message with position data is recieved by a device with XCRetrieve installed, a screen with the information listed and position marked on Google Maps will be displayed.
  • All position messages are human readable and do not need any services or tools to read.

Getting Started

Using the application is very simple. When loaded the first time you will see a short wizard which will guide you through the configuration process. You will need to setup a code, and select contacts allowed to track you. Anyone wanting to track you will need to send a message starting with the code you set prefixed by xc@.
As an example, if you set your code to:


The message requesting your position should be:


The code check is case insensitive so Xc@mySeceret or xc@myseceret will work.
If you'd like to receive the response instantly you can add '-i' to your message. XcRetrieve will not return the speed or direction parameter, but it will respond as soon as it get's the first GPS fix. The message with the -i modifier should be:

xc@mySeceret -i

To request custom location formats review the GPS formats section below.


  1. I get no response after sending an SMS, why is that?
    There can be a few reasons, check the following:
    a) It takes at least about 2 minutes for two GPS readings to be made and a response message sent, but this can be even 5 minutes if the GPS signal is weak
    b) make sure the code sent in a message is correct. Since version 1.1 the code check is not case-sensitive, but your code has to be prefixed with xc@.
    c) make sure the tracking service is on - you can toggle it on/off by tappingon the circle button in the middle of the main screen.
    d) if you still can't get the service working feel free to report a bug using the form at the end of this page.
  2. Is there any way I can check if someone has been tracking me?
    Yes, simply take a look at you SMS threads. This app does not delete any messages, so if anyone was requesting your location you will have sms message.
  3. Do I need to have my GPS turned on for XCRetrieve to work, how does that impact my battery life?
    XCRetrieve will only use your GPS once an SMS message with a correct code is received, at other times GPS is not used and the application does not increase battery usage. XCRetrieve will need GPS positioning to be enabled in your phone settings to allow acurate tracking. If you have GPS positioning disabled, you will see a warning message on the main screen of XCRetrieve.
  4. What are particular permissions used for?
    Apart from the obviously needed GPS location and receiving/reading SMS permissions the app will also require several other permissions. It uses disk storage to cache map data. Reading contacts is needed to map contacts with phone numbers. On a range of devices reading phone status and identity permission (android.permission.READ_PHONE_STATE) is needed to send SMS messages automatically - for more information check this thread or similar. This is why this permission is also required.

Offline usage

XCRetrieve can be used offline, but there are a few limitations. Without internet connection Google Maps embeded into XCRetrieve or any other application will not work, even if you have an offline map downloaded.
To view a received position while offline you can do the following:
  • If you have an offline map downloaded, press the "Send to Google Maps" button to open Google Maps centered on the received position.
  • You can try using the OpenStreetMap. This map will work when offline. If the area you are viewing has been cached in your phone memory you will see it.
  • You can take a look at the position details, and see where the position is relative to your position.

GPS formats

Starting with version 1.2 XCRetirieve allows setting a preffered GPS position format. The default format can be set in settings.
A particular data format can also be selected by user sending a tracking request message, by adding the following to the message:
"-f:d" - Degrees
"-f:m" - Degrees & Minutes
"-f:s" - Degrees Minutes & Seconds
"-f:l" - Link to Google Maps
A sample message requesting response in a selected format:

xc@your_code -f:s

Selecting a format in the message has priority over the format selected as a default.

Privacy Policy

  1. In order to improve user experience XcRetrieve uses Google Analytics to track anonymous usage data. This includes, but is not limited to metrics such as screen displays, session duration, location, device type, system version and language.
  2. No data that personally identifies an individual is tracked or collected outside of the application.
  3. GPS position of the device running this application may become available to others on demand, after they send a vaild request. A valid request must match rules as defined by the user. Such communication is available using SMS messages and can be disabled by the user.
  4. GPS location of the device may be shared by XCRetrieve when such a request is made by the user.
  5. With the execption of point 3 and 4, GPS locations, passwords, contact details as well any other data submited through forms available within the application are not tracked or collected outside of the application.
  6. This application is not a network service, data used by it is stored on the device where it is installed.

Report a bug, request a feature

If you have experienced the app crashing or not working as expected please use the form below to file a bug. You may not always get instant response, as this application is developed in the authors spare time, and bug tracking may take some time.

If you have an idea on how to improve this app, which you'd like to share, you can also use the form below. There is no guarantee your suggestions will be implemented, but the author will do best to respond to feedback.


This application is available at: https://play.google.com/store/apps/details?id=com.dadasign.xcretrieve
Due to restrictions made by Google at the beggining of 2019 on apps requiring access to SMS sending permissions, this app can no longer be published on Google Play.

You can download the apk directly here: http://xcretrieve.dadasign.pl/media/XCRetrieve-release_1_4_1.apk