Tengo un teléfono rooteado. ¿Es posible habilitar los servicios de ubicación (GPS o ubicación de red) a través de ADB o Terminal Emulator?
En Android 6.0,
Para permitir:
adb shell settings put secure location_providers_allowed +gps
adb shell settings put secure location_providers_allowed +network
Deshabilitar:
adb shell settings put secure location_providers_allowed -gps
adb shell settings put secure location_providers_allowed -network
En Android 11.0,
Para permitir:
adb shell settings put secure location_mode 3
Deshabilitar:
adb shell settings put secure location_mode 0
El servicio de ubicación de Android viene con diferentes opciones:
Alta precisión:gps, network
adb shell settings put secure location_providers_allowed +gps,network
adb shell settings put secure location_providers_allowed -gps,network
Solo teléfono:gps
adb shell settings put secure location_providers_allowed +gps
adb shell settings put secure location_providers_allowed -gps
Ahorro de batería:network
adb shell settings put secure location_providers_allowed +network
adb shell settings put secure location_providers_allowed -network
location_providers_allowed
ya no funciona para Android 10 (API nivel 29).
En su lugar, puede configurar location_mode
to LOCATION_MODE_HIGH_ACCURACY
con un valor de 3:
adb shell settings put secure location_mode 3
NOTA: Probablemente no funcionará > v29 ya que esto ya está en desuso como lo mencionan los documentos en Modo de ubicación:
Esta constante quedó obsoleta en el nivel 28 de la API. Los métodos preferidos para verificar el modo de ubicación y escuchar los cambios son a través de
LocationManager#isLocationEnabled()
yLocationManager#MODE_CHANGED_ACTION
.
No sé qué forma programática de hacer esto a través del shell será una vez que esta constante desaparezca.
adb shell settings put secure location_mode 3
adb shell settings put secure location_mode 0
suban dhyako