Location Manager returnt falschen boolean

ui_3k1

ui_3k1

Gesperrt
197
Hallo,

folgendes Problem:
Letzte Woche habe ich mir eine Art "Rahmen" für meine App zusammengeschustert. Da meine Anwendung auf Geo-Positionen zurückgreifen soll, habe ich die Doku befolgt und den LocationListener in meine Main gepackt.
Gerade bin ich dabei die Anwendung etwas umzustrukturieren, sprich der LocationListener soll nun mittels Service gesteuert werden. Das funktioniert auch soweit.

Nun habe ich eben nicht schlecht gestaunt als ich in meiner Main prüfen wollte, ob der Nutzer GPS eingeschaltet hat. So prüfe ich die Einstellungen:

Code:
   private boolean GPSEnabled() {
        LocationManager locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        return locManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
    }
Der Rückgabewert war true, obwohl "Toggle" und Einstellungsmenüpunkt GPS inaktiv war. (Echtes Gerät: LG G3)

Lösen ließ sich das Problem wie in im folgenden Beitrag beschrieben:
android - LocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER) is not reliable, why? - Stack Overflow

There are 2 conditions must be met that LocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER) returns true.

  1. Some internal state is ready for network location.
  2. Network location is enabled on setting screen.
Second one is obvious. But first one is not. They told how to simulate first one is negative. You can confirm the issue with steps shown below and running my test app (please see my question for link to download).

  • Open settings of you phone.
  • Tap Applications.
  • Tap All tab.
  • Find "Network Location", tap it.
  • Tap "Disable".
  • Reboot your phone.
  • Run test app.
Ist zwar schön, dass der Fehler jetzt vorerst weg, aber ein Mitglied hat mein aktuelles "Problem" in den Kommentaren sehr zutreffend formuliert:
Will your customer do all these steps ? And have you tested your app on other phones ? Samsung 2.3.6 and 4.0 ? In my opinion you need programmatic way to trigger the update. Think about it.
Welche Möglichkeiten habe ich?
Kann ich auf die Prüfung der GPS-Einstellung in meiner Main verzichten, wenn ich diese im Service abfrage?

Danke vorab
Martin

Btw: ist es normal, wie der Themenersteller (s.Link) seine Stati prüft? Ich sehe das gerade zum ersten Mal und es wirkt auf mich etwas "experimentell"... Wundere deswegen nur über die 5 UPs, die er dafür bekommen hat...
 
Zuletzt bearbeitet:

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
10
Aufrufe
211
swa00
swa00
W
  • WuDiDong
Antworten
3
Aufrufe
765
jogimuc
J
Y
Antworten
0
Aufrufe
538
yunusX
Y
Zurück
Oben Unten