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 RS3
EMLID Reach RS2+
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.

2 Likes

Ryan,

From the details, it does look like an issue with an Android or Samsung version. Also, if you tested different Reach devices, it hardly can be a hardware issue with all of them. I’m glad to hear that mock locations work with CAT S62 Android 11.

You are correct, I don’t think it has anything to do with EMLID hardware. I have the exact same issue with multiple mock location provider apps and also multiple brands of GNSS receivers. I was just hoping someone had similar experiences and found a solution. It is one reason I would like EMLID Flow to function as a mock location provider so that I have fewer combinations of hardware and software to troubleshoot.

Ryan,

Sure, maybe someone with akin experience can share their thoughts. I’ve passed your information about the mock location provider to our development team.

I have spoken with another GNSS manufacturer whose equipment I also own. The have their own mock location app. They tested it on a Samsung Galaxy Tab Active3 and had similar issues where the positions would jump back and forth between the mock location provider and the internal GNSS, but their experience was that it would eventually settle on the mock location source. This is the opposite of my experience. I have asked them to see what other settings they have that may affect this issue.

I am still open to any suggestions from someone who is more of an Android guru than me.

3 Likes