Android LocationManager.isProviderEnabled () gibt immer false zurück

Ich habe eine Anwendung, die den Netzwerkanbieter als Standort verwendet. Bei jedem Start der Apps wird mithilfe der isProviderEnabled () -Methode in LocationManager überprüft, ob der Netzwerkanbieter aktiviert ist. Wenn es false zurückgibt, sende ich dem Benutzer eine Warnung, um den Netzwerkanbieter zu aktivieren und dann die Anwendung zu verwenden. Diese Logik hat bis auf wenige Ausnahmen bei nicht von Google zertifizierten Geräten sehr gut funktioniert (kein Problem, da sie normalerweise auch keine Maps-API haben). In letzter Zeit erhalte ich mit einigen Geräten auf ICS und jetzt auf dem JellyBean-Emulator ein konsistentes "false" für isProviderEnabled (), obwohl es aktiviert ist.

Ich bin seitdem dazu übergegangen, den von Settings.Secure.getString (getContentResolver (), Settings.Secure.LOCATION_PROVIDERS_ALLOWED) zurückgegebenen String zu verwenden, um festzustellen, ob er "network" enthält. Es ist ein Hack, aber es funktioniert erstmal. Ich würde gerne die Methode isProviderEnabled () verwenden können.

Hat jemand dieses Problem schon einmal gesehen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage