Some Android applications do not allow users to select an external GNSS receiver directly. In these cases, Android uses a feature called “mock location” to let one app supply location data to the entire device. This guide explains how to enable Developer Options, set the Bad Elf Flex app as the mock location source, and activate mock location within the app. Once enabled, your Bad Elf Flex will provide location data system-wide to all apps on your Android device.
3. Tap Build number (7 or more times) until your phone or tablet confirms developer options are enabled.
Configuring Mock Location App
1. Open the Settings app.
2. Go to Developer Options.
3. Tap Select mock location app.
4. Select the Bad Elf Flex app.
Confirming Mock Location Status

These instructions are available in the Bad Elf Flex App on Android under App Settings > Mock location.
1. Open the Bad Elf Flex app.
2. Go to App Settings > Mock location.
3. Enable mock location if necessary.
4. Verify the Bad Elf Flex app is configured as mock provider.
5. Connect your Bad Elf Flex GNSS receiver.
6. Allow the receiver to achieve a fix by placing it in an outdoor location with visibility of the sky.
7. Verify mock location is flowing.
Your Android is now configured to use the Bad Elf Flex as the mock location provider.
Initializing Mock Location
1. Open the Bad Elf Flex app.
2. Connect to the Bad Elf Flex GNSS receiver.
3. Verify Mock location is on notification.
The Bad Elf Flex app must be opened in the foreground to begin flowing mock location. We recommend opening the Bad Elf Flex app before connecting to your receiver, and keeping it open until the Bad Elf Flex achieves a GNSS fix.
Consider implementing the steps listed under Confirming Mock Location Status above as part of your field setup routine to confirm mock location is functional.
Frequently Asked Questions
Q: How do I connect a Bad Elf receiver to my phone or tablet?
A: Pair the receiver via Bluetooth. On iOS devices, Bad Elf GNSS receivers use their MFi certification to automatically take over all location services. On Android devices, the same functionality is available by enabling mock location through the Bad Elf Flex App.
Q: I followed the steps and my app is still using my integrated GPS for my location, what is going on?
A: Apps that allow the user to select the location provider such as ArcGIS Field Maps require the user to select the Bad Elf Flex as the location provider from within the respective 3rd party app settings.
Q: Do I have to select the Bad Elf Flex app as the mock location provider every time I use the receiver?
A: No. The Bad Elf Flex app remains as the mock location provider until configured otherwise. However, the Bad Elf Flex app does need to be open to initialize mock location flow. After initializing, the Bad Elf Flex app can be minimized. If connecting to a new Android, you will have to follow the mock location configuration steps again.
Q: What is a mock location provider in Android and why do I need it for the Bad Elf Flex?
A: A mock location provider allows an external app, like the Bad Elf Flex app, to override the standard internal GPS location of your Android device. You need to enable the Bad Elf Flex app as the mock location provider so that your Android device and all its location-aware applications will use the high-accuracy GNSS data from the Bad Elf Flex receiver instead of the device's less-accurate internal GPS.
Q: Does enabling the Bad Elf Flex as a mock location provider affect all other apps on my Android?
A: Yes, once the Bad Elf Flex app is successfully configured and running as the mock location provider, all location-aware applications on your Android device (except those that allow their own external GNSS selection, like ArcGIS Field Maps) will exclusively use the high-accuracy location data provided by the Bad Elf Flex receiver.
Q: How do I turn off mock location and return to using my Android's internal GPS?
A: To stop using mock location, you can do one of two things:
Go to Settings > Developer Options > Select mock location app and choose 'None' or 'Nothing', OR, simply close the Bad Elf Flex app and disconnect from the Bad Elf Flex receiver. While the Bad Elf Flex app remains selected as the provider, it must be running to flow mock location data.
Q: Why can't I find 'Developer Options' in my Android settings?
A: Developer Options is hidden by default. You must enable it by navigating to Settings > About Phone/Tablet > Software information and repeatedly tapping the Build number (typically 7 times) until a message confirms, "You are now a developer!"
Q: Mock location is enabled, but my location is inaccurate. What should I check?
A: First, ensure your Bad Elf Flex receiver has a GNSS fix. Place the receiver outside with a clear, unobstructed view of the sky and wait for the fix to be established. Second, confirm that the Bad Elf Flex app itself is showing a stable position and that the mock location is flowing in App Settings>Mock location.
Q: Why do I need to open the Bad Elf Flex app to start mock location?
A: The Bad Elf Flex app acts as the crucial software bridge between the receiver's high-accuracy data and the Android operating system. The app must be open (in the foreground or minimized after initialization) to initialize the flow of mock location data to the Android system. Once initialized and flowing, you can minimize the app.