wifi getLinkSpeed () devuelve un valor siempre

Estoy desarrollando una aplicación que muestra la velocidad de internet. me gusta:https://play.google.com/store/apps/details?id=netspeed.pt

https://play.google.com/store/apps/details?id=com.internet.speed.meter.lite&hl=en

Tengo que ganar velocidad WiFi en cualquier momento, utilicé el ejecutable:

WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wm.getConnectionInfo();
....

runnable = new Runnable() {

    @Override
    public void run() {

        int linkSpeed = wifiInfo.getLinkSpeed();
        chatHead.setText( "Speed : " + linkSpeed);
        handler.postDelayed(runnable,100); 

    }
};

handler.postDelayed(runnable,100); 

Pero la velocidad no cambia, incluso cuando se descarga. ¡Estoy un poco confundida!

Tengo acceso a Internet en cualquier momento, ¿qué puedo hacer? ¿Debería usarse desde el código nativo? ¿O también el código Java?

Por favor, ayúdame.

Respuestas a la pregunta(1)

Su respuesta a la pregunta