Open IzzySoft opened 9 years ago
Using gsm cells to geolocate is not possible on Android version 4.1 and below because of missing API support on most devices. Please try disabling cell location in the Mozilla backend settings.
Thanks! That exception is gone with this (you might consider "graying out" that option, or at least deactivate it and issue a warning when the user activates it on a device running 4.1 and below). Still doesn't work (see logcat excerpt at pastebin).
To make sure it's not simply due to DonkeyGuard still interfering (see lines 15, 28 and 41), I deactivated that module in Xposed, rebooted, and tried again (logcat here): stack traces are gone, still no success.
Looks like I'm haunted: cannot get this working on any device I try. Only my "good old Milestone²" simply works fine with the old NOGAPPS solution. Afraid to break that when updating, so I better don't (yet).
The second stack trace contains the right location (line 28) and this should mean that everything is working. Can you verify using a tool like Here GPS Location (select network and enable refresh, then wait a few seconds and read) that it still fails to locate you?
@mar-v-in I've seen that line, yes. But I suspected it being from Google's network location, as the Xposed module tells me it's not a UnifiedNlp source.
Of course I can try whether my location is shown in some app (will do so when I'm back home, I'm confident the location shows up (Edit: it does)) – but that doesn't tell me about the source of the location data. I don't want Google's location service to do anything on the device, but solely UnifiedNlp. So how can I tell the two apart in the logs? Wasn't there a string applied with UnifiedNlp locations? And if that line 28 comes from UnifiedNlp, why do lines 29/31 state "UnifiedNlp locations state changed to FAIL" / "UnifiedNlp location: FAIL"?
PS: I've checked for debugging settings, and found some in the OpenBmap module. Activated that, ran the Xposed check again. Now comes the strange thing: OpenBmap finds a location – but it's not the one that's reported later:
I/org.openbmap.unifiedNlp.Geocoder.OnlineProvider(11635): JSON response: {"source":"wifis","accuracy":30,"location":{"lng":11.570856997514667,"lat":48.166475879909996},"measurements":104}
D/Location found(11671): Location[mProvider=network,mTime=1437413601039,mLatitude=48.1664691,mLongitude=11.5706033,mHasAltitude=false,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=20.0,mExtras=Bundle[mParcelledData.dataSize=212]]
No indication that Ichnaea did anything except for these log entries – which rather suggest it's not active at all: "D/IchnaeaBackendService(11625): No instance found active." (Btw: between lines 7 and 8 are only debug infos from OpenBmap, which seems to confirm my suspicion that it's not used at all).
PPS: Just figured why the OpenBmap location did not make it: that backend crashed right after finding the location, throwing an java.lang.NoSuchMethodError: android.location.Location.getElapsedRealtimeNanos
(link below this comment).
Though the F-Droid repo points out this backend should work on Android 2.3.3+, and according to the map my area is covered with a bunch of WiFi APs in the Mozilla database, I couldn't get it to work on my 4.1 device: it returns no location. A closer look with logcat (see this pastebin) suggests something here requires at least Android 4.2. Excerpt:
I had tried two other backends before (OpenBmap and Apple) which didn't work either (my area seems not to be covered in their databases), but this error only showed up when I added Ichnaea.
Any clues?
Note: The device is a tablet running Android 4.1.2. There are no newer Android versions available for it (neither stock nor custom ROMs), so I can't do anything from that end. And it has no GSM nor GPS, so my only choices are location services based on WiFi, so I'm currently stuck with these 3 of which none seems to work.