Skip to content

Latest commit

 

History

History
100 lines (83 loc) · 4.12 KB

README.md

File metadata and controls

100 lines (83 loc) · 4.12 KB

Android app that listens for incoming SMS text/data messages and conditionally sends an automatic reply containing GPS location data.

Screenshots:

SMS-my-GPS SMS-my-GPS SMS-my-GPS SMS-my-GPS SMS-my-GPS

Preferences:

  • Enable Service checkbox:
    • used to enable/disable this service
  • ActionBar menu items:
    • Icon Add Rule
      • opens dialog with fields to define a new whitelist rule
    • Icon Send Silent SMS
      • opens dialog to send a silent data-only SMS message to another phone
  • whitelist rules contain fields that are compared to all incoming SMS text/data messages:
    • Sender must end with:
      • this value specifies a phone number (without any punctuation)
        • a match occurs when either:
          • the sender of the SMS message ends with this exact value
          • this value is exactly equal to the special match-all glob pattern: *
    • Message must begin with:
      • this value contains any arbitrary string
        • a match occurs when either:
          • the body of the text SMS message begins with this exact value
          • the body of the data SMS message is exactly equal to a Silent SMS,
            as generated by either:
  • whitelist rules can be modified
    • clicking on an existing rule opens a dialog with options to:
      • edit field values, and save changes
      • delete

Functionality:

  • if:
    • Preferences:
      • service is enabled
    • Android Settings:
      • Settings > Location > on
      • Settings > Location > Mode > high accuracy (GPS)
      • Settings > About phone > Network > Service state > In service
  • when:
    • an incoming SMS text/data message matches any rule in the whitelist
      • a whitelist rule is considered a match when all of its fields match
        (ie: both sender and message)
  • then:
    • the sender of the SMS message will receive an automatic reply containing:
      • Latitude
      • Longitude
      • Accuracy (meters)
      • Speed (meters/second)
      • URL to view a map of Lat/Lon on Google Maps

Notes:

  • minimum supported version of Android:
    • Android 3.0 (API level 11)

Changelog:


Caveats:

  • Google Voice:
    • if:
      • the Google Voice app is installed on the phone
      • the Google Voice account that the app is logged into:
        • registers the real mobile phone number as a forwarding number
        • configures incoming SMS text messages to be forwarded as well
    • when:
      • a SMS text message is sent to the Google Voice virtual mobile phone number
    • then:
      • the phone receives an incoming SMS text message
    • but:
      • the sender of the SMS message will always be a number belonging to the Google Voice backend infrastructure
      • the body of the SMS message is modified such that it begins with information to identify the real SMS sender:
        • ${original_SMS_sender} - ${original_SMS_body}
      • where the value of ${original_SMS_sender} is:
        • a name
          • when the phone number of the real SMS sender is associated with a name in the Google Voice account Contacts list
          • ex: John Smith
        • a phone number
          • when the phone number of the real SMS sender is not found in Contacts
          • ex: +19876543210

Legal: