In the Android OS, the location information is retrieved through a location service that combines different signals (onboard GPS, WiFi, cell) to provide the "best" location information to any apps that are requesting it.
To get precise location information from an external bluetooth GPS, you need to enable a "mock provider" that tells the location service to retrieve location information through the bluetooth GPS, and not through the typical signals. To enable these mock providers, you must select what app can be used to provide location information through the Android "developer options". To get to the developer options in the Android OS, you must enable a special "developer mode".
The general steps to connect an external Bluetooth GPS receiver are:
- Turn on Developer Options menu
- Install a mock location app
- Pair your tablet with the Bluetooth GPS receiver
- Select the mock location app in Developer Options
- Connect mock location app to Bluetooth GPS
Each step is described in detail below.
Android Developer Options
The developer options menu lets you configure system behaviours to improve app performance. The list of developer options will depend on the version of Android that your device is running.
For more information on what each of the developer options does, please visit the official Android Developer site.
On most Android devices the Developer options menu is hidden by default.
Turn on Developer Options menu:
- Go to "Settings, then tap "About device"
- Tap "Software Information"
- Scroll down until you see the "Build number" option, then tap the "Build number" seven times (yes, seven times)
- As you are tapping on the Build number, you will see a message that you are on the right track
- Enter your pattern, PIN, or password to enable the Developer options menu
- The "Developer options" menu will now appear in your Settings menu
Install a mock location app
There are several 3rd party apps available on the Google Play Store that can connect to Bluetooth GPS receivers and mock the location. The following steps are specific to the "Bluetooth GNSS" app.
- Open the Play Store and download/install the "Bluetooth GNSS" app (https://play.google.com/store/apps/details?id=com.clearevo.bluetooth_gnss)
Pair your tablet with the Bluetooth GPS receiver
- Go to "Settings, then tap "Connections"
- Tap "Bluetooth"
- Tap the bluetooth GPS receiver in the list of available devices. If your device does not appear, make sure the bluetooth GPS receiver is in pairing mode, and tap "scan" to search againNOTE: This screenshot shows the "Garmin GLO" as the GPS device. If you are using a different Bluetooth GPS receiver, look for that option in the list.
- Tap "Pair" in the pairing request. The bluetooth GPS receiver will now show as a paired device
Select the mock location app in Developer Options
With the developer options enabled and the mock location app installed:
- Go to "Settings, then tap "Developer Options"
- Tap "Select mock location app"
- Tap the "Bluetooth GNSS" app that was previously installed
- The app will show as the selected mock location app
Connect mock location app to Bluetooth GPS
Before you can use the Bluetooth GPS receiver to retrieve coordinates in MX Deposit, you must connect the mock location app to the bluetooth GPS receiver
- Tap the "Bluetooth GNSS" app
- Tap the settings "gear" icon in the top-right corner
- Tap "Select" and choose the paired Bluetooth GPS receiver, then tap "Save"
- Use the Android "back" button to go back to the main screen of the Bluetooth GNSS app
- Tap the Bluetooth button in the bottom-right corner
- If everything is successfully connected, you will see Lat/Long values (as well as other data)
If you can see location data in the Bluetooth GNSS app, and if you have successfully set the app as the mock location app, then you can now follow the steps in the Add GPS Coordinates article. The "mock" app means it overrides the request to the location API that MX Deposit makes. This means the mock app must always be running and connected to the Bluetooth GPS receiver in order to provide accurate location information.
A final test that the Bluetooth GPS receiver is working is to look at the accuracy that is reported when you get a location in MX Deposit. The typical location signals (onboard GPS, WiFi, cell) usually have an accuracy within +/- 20m. With a Bluetooth GPS receiver, that accuracy should be within +/-3m to +/-6m (depending on the device).