Obtenga la fuerza de la red (RSSI)

Tengo problemas para obtener el RSSI o la potencia de la red en Android 4.0+. Sin embargo, el método actual que uso funciona en cualquier versión de Android a continuación.

Esto es lo que estoy intentando ...


ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnected()) {
    signalStrengthTextView = (TextView) view.findViewById(R.id.signalStrengthTextView);
    signalStrengthListener = new SignalStrengthListener();  
    ((TelephonyManager)getSystemService(TELEPHONY_SERVICE)).listen(signalStrengthListener,SignalStrengthListener.LISTEN_SIGNAL_STRENGTHS);
    int SIGNAL_STRENGTH_VALUE = 0;
    try {
        SIGNAL_STRENGTH_VALUE = Integer.parseInt(signalStrengthTextView.getText().toString());
    } catch(NumberFormatException nfe) {
}

El valor siempre regresa como 99 y no como el RSSI correcto. ¡Cualquier ayuda sería increíble!

preguntado el 01 de julio de 12 a las 03:07

1 Respuestas

No es que sea un experto en API de telefonía. Estos son los valores que no se actualizan hasta que se salen del último rango.

     SIGNAL_STRENGTH_NONE_OR_UNKNOWN (99)
     SIGNAL_STRENGTH_GREAT (16-32)
     SIGNAL_STRENGTH_GOOD (8-15)
     SIGNAL_STRENGTH_MODERATE (4-7)
     SIGNAL_STRENGTH_POOR (0-3)

Espero que esto ayude un poco ... no es una solución, pero podría ser útil.

Respondido 03 Jul 12, 09:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.