Ver Mensaje Individual
  #7  
Viejo 30/04/15, 21:36:29
Avatar de rdlejo
rdlejo rdlejo no está en línea
Usuario poco activo
Mensajes: 11
 
Fecha de registro: sep 2013
Localización: Buenos Aires
Mensajes: 11
Modelo de smartphone: Xiaomi MI3
Tu operador: Claro
Mencionado: 0 comentarios
Tagged: 0 hilos
Bueno, luego de dos meses de sufrirlo (es bastante molesto dado que uno tiene verificar que haya 3G cada vez que se aleja de una Wifi) desarrollé un arreglo.

Este arreglo debe considerarse como un "workaround" al problema dado que la solución definitiva está en los servicios de conectividad de Qualcomm.

Es un servicio sencillo (y muy ligero) que hace lo siguiente:

- Mientras esté no se esté usando la red 3g (el usuario está conectado en Wifi) se verifica la salud de la conexión cada cierto tiempo. Este tiempo es el que le concede el sistema por lo que no se realizan wakelocks adicionales.

- Si durante esas verificaciones detecta no se encuentra correctamente relacionado a la red o si ha pasado cierto tiempo (algo menos de una hora) hace un switch de 2 segundos al modo "2G Preferido" y luego regresa a "3G Preferido" siempre y cuando el usuario no esté en llamada.

- Este switch es transparente al usuario dado que, como escribia, solo se hacen los switchs siempre y cuando no se estén usando ni los datos ni el teléfono.

Este switch 2g / 3g es más conveniente al modo avion on/off: Reinicia el vinculo de datos entre el movil y el operador sin cortar otras cosas.

Si alguien desea instalarlo, esta es la apk del servicio (30 kb):

enpalermo.com/verificador3G.apk

Para el que se interese por las fuentes:

enpalermo.com/verificador3Gsrc.zip

REQUISITOS:
IMPORTANTE: Solo usarla en la de Ivan del 24/04. Parece que no funciona en las Cyanogen y variantes.


- Lollipop 5.1 o superior (no hice apk para 5.0).

- ROOT.


Instalación:

- Instalar la APK.
- Iniciar Verificador3G una vez para activar el ROOT (hay que conceder a Verificador3G derechos permanentes) y el servicio.

Al iniciar el programa se vé esta pantalla:




Lo importante es que Root este en "true" y que API SetPreferedNetworkType muestre un número entero (93 en mi caso).

Luego, reiniciar el dispositivo y estará activo el servicio (no es necesario volver a iniciar la aplicación).

Cada vez que el servicio haga un switch 2g/3g loguerá una lína en

/sdcard/resetGSM.log

También se puede seguir su actividad usando logcat.

Por favor, el que lo instale me avisa que tal le va...

Saludos!

Última edición por rdlejo Día 30/04/15 a las 23:32:28
Responder Con Cita
Gracias de parte de: