FIX FOR NO GPS. (no compass steel 3d, no gps locker, no gps.config etc.)
Answer: I am asking this question after I already found a solution so that I can share it with the public. It took me 3 long months of research! If you haven’t done the usual fix, e.g. clear cache, user data, uninstall, reboot, reinstall, as well as make sure the Location service is turned on, d...
www.quora.com
I am asking this question after I already found a solution so that I can share it with the public. It took me 3 long months of research!
If you haven’t done the usual fix, e.g. clear cache, user data, uninstall, reboot, reinstall, as well as make sure the Location service is turned on, do that first. If you have done that like me, but the problem persists, then read on.
The reason a GPS test app can get a GPS fix while Google Maps fails is because a GPS test app has direct access to the hardware. However, this is NOT how Google Maps works! Google Maps gets the GPS coordinates from Google Play Services. Thus, if the location service of your Google Play Services is not configured to operate whenever needed, it would be a problem.
For example, in my case, it was configured to “Allow only while using the app”. Now, if I am running Google Maps in the foreground, obviously I am not running Google Play Services in the foreground concurrently. As a result, the latter is not supplying the location service to Google Maps!
I don’t know why my Google Play Services’ location got set to “Allow only while using the app”. If I have to guess, it’s because of a bug in MindTheGapps. GApps does not support Android 11 yet as of June 2021. If you are on LineageOS 18.1 (Android 11), it recommends MindTheGapps as an alternative.
Now we know the reason, but how do we fix it? Here is one solution.
Download App Ops - Permission Manager from the Play Store
Fire up App Ops and install the Shizuku app when asked
Open Shizuku and then start the service
Open App Ops again. If asked “Allow App Ops to access Shizuku?”, click “Allow all the time”
Find Google Play Services under App Ops
Under Google Play Services, find Location and then Coarse location
If it is set to “Allow only while using the app”, change it to “Allow”
Credit goes to the genius who posted it on XDA-Developers,
*
Edit
The main issue is that
COARSE LOCATION is set to
Not Set by default and must be allowed.