Spanish Cobertura móvil.

droman

Member
Licensed User
Longtime User
Hola a todos:

Me estoy volviendo loco.... Necesito hacer un programa que me indique el nivel de cobertura que tengo actualmente. Buscando he dado con la librería PhoneStateListener 1.30

Mi movil es un Note 3 con modo 4G/3G/2D automático (por si fuese importante)
A la hora de recibir los datos de PSL_onSignalStrengthsChanged me llega el siguiente chorizaco:

SignalStrength: 19 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 2147483647 2147483647 gsm|lte 0x0

Atendiendo a este otro post Códigos de retorno de Signal Strength obtengo esta información:

0 SignalStrength:
1 GsmSignalStrength = 19
2 GsmBitErrorRate = -1
3 CdmaDbm = -1
4 CdmaEcio = -1
5 EvdoDbm = -1
6 EvdoEcio = -1
7 EvdoSnr = -1
8 LteSignalStrength = 99
9 LteRsrp = 2147483647
10 LteRsrq = 2147483647
11 LteRssnr = 2147483647
12 LteCqi = 2147483647
13 "gsm|lte" or "cdma"


Con lo que puedo deducir, según la escala de valores para el dato GsmSignalStrength (de 0 a 39) que el porcentaje de cobertura que tengo es del 48%.

El problema es que, a parte de que el indicador de cobertura del móvil está a tope... si arranco otros programas de medición de cobertura me indican que esta es del 60%


¿Es correcto lo que yo estoy haciendo? ¿Se equivoca el otro programa?

Muchas gracias.
 

inakigarm

Well-Known Member
Licensed User
Longtime User
los valores son en dbm, una escala logaritmica, por lo q supongo q no puede hacerse una regla de tres y decir que si 39 =100%, 19=?

Mira por google y encontraras informacion de guia para calcularlo
 
Last edited:

droman

Member
Licensed User
Longtime User
En esta entrada, los valores indicados van de 0 a 31 (no 39), 0 son -113 dbm o menos y 31 -51dbm o mas

Para pasar a porcentaje, en esta entrada lo calculan dividiendo /31 (http://stackoverflow.com/questions/...w-are-better-in-androids-getgsmsignalstrength)

Tienes razón con el rango del margen de 0 a 31 y no al 39... menos mal que puse la documentación jejeje ha sido un fallo tipográfico :p

Voy a darle vueltas al tema a ver si saco una formula lo suficientemente precisa.

Muchas gracias.
 
Top