¿Cómo verificar la presencia de un sensor GPS?
Estoy escribiendo un método que devolverá verdadero si hay un sensor GPS presente y habilitado, pero devuelve falso si está ausente o apagado. Está resultando difícil porque ...
hasSystemFeature("FEATURE_LOCATION_GPS") // on PackageManager
Devuelve falso, ya sea que el dispositivo tenga un GPS o no. Entonces, incluso en un dispositivo que tiene uno, y está encendido, todavía devuelve falso. Me parece completamente incorrecto, pero no puedo ver por qué.
isProviderEnabled("gps") // on LocationManager
Returns true, incluso en un dispositivo que tengo aquí que no tiene hardware GPS en absoluto. Eso también parece completamente contra-intuitivo.
Acepto que estos resultados podrían deberse a que me falta algo, el SDK no es intuitivo, o tal vez incluso que los dispositivos con los que estoy probando se comportan de manera extraña.
¿Qué me estoy perdiendo