About Beacon
This is an app that I developed to learn the Android platform and the app submission process.
This app provides a widget to send your location and a short message to multiple contacts. An unlimited number of widgets can be created with their own configuration.
Use cases:
Any time a quick tap is needed to send a message and your location.
- Emergency help
- Need a ride / I should not drive
- Check in / I made it to my destination
Features:
- Create unlimited number of widgets.
- Double tap to send to avoid accidental send.
- Custom text message.
- GPS location appended to the message with a Google Maps url and raw latitude, longitude.
- Resolved postal address from GPS location.
- English or Metric units used for location accuracy message.
- Select multiple contacts to receive the message.
- Message label: A short label to prefix all messages sent from the widget.
- Each message is sent asynchronously in the background.
Privacy:
This app does not transmit any data to a remote server.
The data for each widget is store locally on the device.
Android's Geocoder is used for the reverse geocoding to resolve the postal address from the latitude and longitude (http://developer.android.com/reference/android/location/Geocoder.html).
The following permissions are needed to create the text message:
1. "READ CONTACTS": This is needed to provide the selection on the configuration form and resolve contact's phone number when the message is sent.
2. "SEND SMS": This app uses the phone's native text messaging to send the configured messages.
3. "ACCESS COARSE LOCATION", "ACCESS FINE LOCATION": This app uses the best location provider that is enabled. It does not require high / fine accuracy of GPS + WiFi + mobile networks, but the app will use it if it is enabled.
4. "READ PHONE STATE": This is needed to acquire the location of the phone by listening for location updates.