Hola, yo también tengo un
Lenovo a820 con la ROM oficial (la versión de compilación 137), con las google aps instaladas y permisos de
root, y tengo el mismo problema: no me funciona la geolocalización en interiores (es decir, a través de Wifi o GSM). El GPS sí funciona perfectamente.
Después de leer este hilo, he estado buscando el archivo /etc/location_service_conf.xml . El contenido de este archivo de configuración tal y como lo pone de fábrica es así:
Código:
<!--?xml version="1.0" encoding="utf-8" standalone="yes"?-->
<locationservice version="1">
<!--This configuration file will decide which provider the location service framework will bind in the booting process-->
<!-- lenovo_xm huangzye 2012.04.18 change location provider begin-->
<networkservicename>com.mapabc.lbs.ClsLocationProvider</networkservicename>
com.mapabc.lbs.ClsGeocodeProvider</privateinnergeocoderservicename>
<!-- lenovo_xm huangzye 2012.04.18 change location provider end-->
</locationservice>
He buscado en google cuál debe ser el contenido de ese archivo para un android "stock" 4.1.2 y he encontrado
esto:
Código:
<!--?xml version="1.0" encoding="utf-8" standalone="yes"?-->
<locationservice version="1">
<!--This configuration file will decide which provider the location service framework will bind in the booting process-->
<networkservicename>com.google.android.location.NetworkLocationProvider</networkservicename>
</locationservice>
Sólo soy una usuaria novata sin conocimientos de android (lo poco que me suena es porque uso Ubuntu
Linux como sistema operativo en mi portátil), pero por lo que parece, para solucionar el problema de la geolocalización en interiores habría que introducir los valores correctos en este archivo de configuración para android llame al proceso de geolocalización de google en lugar del configurado por Lenovo para China.
El caso es que, después de haber hecho unha copia de seguridad del archivo .xml original renombrándolo a location_service_provider.xml.bak, he probado a sustitituir el contendido de ese xml por el tomado de github que llama a com.google.android.location.NetworkLocationProvider, he reiniciado el teléfono.. y sigue sin funcionar. Puede que el motivo sea que el nombre del proceso de geolocalización gsm de google tenga otro nombre en nuestro dispositivo. ¿Alguien puede echar una mano? Por lo que parece, habría que identificar el nombre del proceso de google y sustituir los valores de Lenovo.