Buscar programaticamente GPS dispositivo o no?
Estoy tratando de encontrar algún código que me ayudará a averiguar si el dispositivo que utilizo tiene GPS o no? No quiero saber si el GPS está habilitado o deshabilitado. Sólo quiero saber si el dispositivo tiene hardware GPS o no a través de mi programa.
3 Solutions collect form web for “Buscar programaticamente GPS dispositivo o no?”
Si, esto se puede hacer.
Puede llamar a LocationManager.getAllProviders()
y comprobar si LocationManager.GPS_PROVIDER
se incluye en la lista.
Sólo para referencia, creo que todos los teléfonos Android lanzados vienen con un GPS. No es algo que parece preocuparse de Android, por ejemplo, mencionar GPS como uno de los atributos de dispositivo devueltos por PackageManager.getSystemAvailableFeatures()
.
Una vieja pregunta pero encontré esto más fácil de usar
private boolean hasGpsSensor(){ PackageManager packMan = getPackageManager(); return packMan.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS); }
Esto será falso si no está disponible y verdadero si está activado o no, así que lo usé después de
private boolean isGpsEnabled(){ LocationManager manager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); return manager.isProviderEnabled(LocationManager.GPS_PROVIDER); }
Con estos dos, sabrá si GPS está disponible, activado o desactivado
Hay también el método LocationManager.isProviderEnabled (proveedor de cadena).