package icon

SmsLoc

SMS based location query
New in version 1.4.0
Added permissions:
[x] READ_PHONE_STATE so resend on network alive can work (see #29)

Bugfixes:
[x] Fix debug print in startForeground (#26)
[x] Back pressed was ignored

Enhancements:
[x] Treat anything but 'Activity.RESULT_OK' as SMS sent error (#27)
- Responses: Retry sending SMS automatically (#29) -> waits for network and resends the sms
- Requests: Show AlertDialog, ask the user if resend
[x] Support for multiple location requests arriving during a single GPS fix
SmsLoc is an application that queries the location of contacts without the use of mobile data. It uses GPS to retrieve current position and SMS for requests/responses.

SMS request format: `Loc?`
SMS response format: `Loc:LAT,LON,ASL,UTC_S,V_KMH,ACC_M,BAT_PCT`, where:
- `LAT, LON` are latitude and longitude in degrees rounded up to 4 decimal places.[^1]
- `ASL` or Above Sea Level is the absolute altitude as reported by the GPS in meters
- `UTC_S` is the timestamp of the GPS fix in seconds. The timestamp corresponds to the time of the actual fix, and not when SMS was received.
- `V_KMH` is the speed in kilometers/hour
- `ACC_M` is the accuracy reported by the GPS chip in meters
- `BAT_PCT` is the battery percentage of the device sending the response

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 1.4.0 (140) suggested Added on Dec 28, 2025

    This version requires Android 10 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • run foreground service with the type "remoteMessaging"
      Allows the app to make use of foreground services with the type "remoteMessaging"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read phone status and identity
      Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • receive text messages (SMS)
      Allows the app to receive and process SMS messages. This means the app could monitor or delete messages sent to your device without showing them to you.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • send and view SMS messages
      Allows the app to send SMS messages. This may result in unexpected charges. Malicious apps may cost you money by sending messages without your confirmation.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • io.github.wandomium.smsloc.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 14 MiB PGP Signature | Build Log

  • New in version 1.3.2
    [x] Fixed metadata
  • Version 1.3.2 (132) - Added on Nov 08, 2025

    This version requires Android 10 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read phone status and identity
      Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • receive text messages (SMS)
      Allows the app to receive and process SMS messages. This means the app could monitor or delete messages sent to your device without showing them to you.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • send and view SMS messages
      Allows the app to send SMS messages. This may result in unexpected charges. Malicious apps may cost you money by sending messages without your confirmation.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • io.github.wandomium.smsloc.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 14 MiB PGP Signature | Build Log

  • New in version 1.3.1
    [x] #23 Downgrade AGP to 8.11.0 to support F-Droid builds
  • Version 1.3.1 (131) - Added on Nov 07, 2025

    This version requires Android 10 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read phone status and identity
      Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • receive text messages (SMS)
      Allows the app to receive and process SMS messages. This means the app could monitor or delete messages sent to your device without showing them to you.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • send and view SMS messages
      Allows the app to send SMS messages. This may result in unexpected charges. Malicious apps may cost you money by sending messages without your confirmation.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • io.github.wandomium.smsloc.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 14 MiB PGP Signature | Build Log