Can’t get mock location to work in Android

I am about to give up on this, but I cannot get mock locations to work in Android. I am using GNSS Master app to supply the mock locations.

Here are the EMLID devices I have:
EMLID Reach RS2+
EMLID Reach M2
EMLID Reach Rx

Here are the Android devices I am testing on:

Samsung Galaxy Tab Active5
Samsung Galaxy Tab Active4 Pro
Samsung Galaxy Tab Active Pro
Samsung Galaxy Tab Active3
Samsung Galaxy Note

All of the Samsung devices are updated to the newest version of Android that they will support and also the newest version of Samsung OneUI. All of the EMLID Reach devices are updated to the newest firmware.

I have turned off all of the Google location services.

The only time the Bluetooth GNSS works correctly is when the app needing GNSS lets me explicitly select the GNSS source. If I have to rely on the Android Location API ( which most of my programs want to use and which mock location is supposed to overwrite) then it either doesn’t work at all or it does what people describe as teleporting, which means it keeps swapping back and forth between the EMLID position and the position from the internal GNSS receiver.

This most likely is either an Android or Samsung issue as I’m having the same problem with a Juniper Systems Geode GNSS receiver and the Geode Connect app which should be providing the mock locations.

I am open to any suggestions as I have wasted hours or more likely days trying to fix this issue.

1 Like

Don’t know if will help… but maybe mess with these settings under Developer Options of Android?

You’ve tried the Lefebure NTRIP Client already I assume just in case?

Appears to be recently updated 5/8/24… maybe bug?

Or the Solar Storms today? :crazy_face:

I have already changed the settings in Android Developer Options. They are all set correctly.

When I try Lefebure or GNSS Master as my mock location app, they indicate that they are functioning as the mock location provider. When I start my other apps that are pulling locations from the Android Location API (what is being changed when using mock location), they occasionally show the RTK accuracy GNSS indicator of 0.01 m accuracy, but then revert to 3.9 m accuracy and stay there.

This has nothing to do with the solar storms today as this issue has been occurring for months.

1 Like

Hi Ryan,

I checked GNSS Master with my Android phone and was able to turn the mock location on in the application. In Developers options, when you click on Select mock location app, is the GNSS Master option chosen? Maybe the multiple apps that use mock location cause confusion.

It’s also strange that it doesn’t work with Lefebure. Can you share the screenshot of your settings?

1 Like

I will attach a screenshot shortly.

I don’t have any problem setting up multiple Android apps to work as mock location providers. Depending on the GNSS receiver, I have used Juniper Systems Geode Connect, GNSS Master, and Lefebure.

I can set each app to function as a mock location provider.

I can select whichever app I currently want to use as the mock location provider in developer options. In the developer options, you can select which mock location provider to use currently.

Unfortunately, something in the Android operating system is still overwriting the mock location with another location source.

I see exactly the same thing. Tried on a Tripltek 8 pro and 9 pro.

1 Like

I have an update to my original post.

I tested three software tools on my CAT S62 Android 11 phone, and all worked with mock location.

I tested my Juniper Systems Geode GNSS receiver with the Geode Connect app, and mock location worked.

I tested both GNSS Master and Lefebure apps with my EMLID Reach M2 GNSS receiver and mock location worked.

I have the exact same settings on all of my Samsung Galaxy Tab Active series tablets and mock location is not replacing the built in GNSS positions with the external GNSS positions. These are all running either Android 13 or 14.

So my guess is that it is either an issue with newer versions of Android or and issue with the Samsung OneUI.