2012-04-01 8 views
1

Ich versuche, die dBm angezeigt werden, wie Sie es sehen können unter:Android Network Provider RSSI: Anzeige der dBm in Textview

Einstellungen> Telefoninfo> Status ..

so Bislang bin ich auf den Punkt gekommen, dass die App nicht auf mich stürzt.

Es zeigt jetzt nichts in der Textansicht an.

Ich habe eine Menge Posts hier und jeder angeschaut, ist etwas anderes als das, was ich suche. Dachte es wäre eine einfache Suche und finden, stellt sich heraus, dass es nicht ist.

Nicht sicher, was ich hier falsch mache, keine Fehler in LogCat jemand hat irgendwelche Ideen, die toll wäre.

Die Entwickler-Referenzen helfen mir überhaupt nicht, es sei denn, es hat mir etwas gezeigt, wie es funktioniert/funktioniert, damit ich es verstehen kann. Ich habe versucht, und es versäumt, lol, sowieso heres mein Code:

import java.util.List; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.telephony.NeighboringCellInfo; 
import android.telephony.TelephonyManager; 
import android.widget.TextView; 

public class Screen extends Activity { 

    TextView dbm; 
    String dBm; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mainfull); 
     dbm = (TextView) findViewById(R.id.Signal); 

     TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 

     List<NeighboringCellInfo> NeighboringList = telephonyManager 
       .getNeighboringCellInfo(); 

     for (int i = 0; i < NeighboringList.size(); i++) { 

      int rssi = NeighboringList.get(i).getRssi(); 

      if (rssi == NeighboringCellInfo.UNKNOWN_RSSI) { 
       dBm = "Unknown RSSI"; 
      } else { 
       dBm = String.valueOf(-113 + 2 * rssi) + " dBm"; 
      } 

     } 

     dbm.setText(dBm); 

    } 
} 

nicht sicher, ob ich irgendwelche Informationen bin fehlt, die hilfreich sein könnten, wenn ja mich

+0

Sie das '' android.Manifest.permission.ACCESS_COARSE_UPDATES Erlaubnis hinzugefügt haben? –

+0

nein ich hatte location in dort werde ich das versuchen – acrichm

Antwort

3

Vielleicht wissen lassen NeighboringList ist leer?

Haben Sie wirklich die RSSI der benachbarten Zellen oder deraktuellen Zelle wollen? Um die RSSI der aktuellen Zelle zu erhalten, Sie this listener registrieren:

public class AndroidPhoneStateListener extends PhoneStateListener { 
    public static int signalStrengthValue; 

    @Override 
    public void onSignalStrengthsChanged(SignalStrength signalStrength) { 
     super.onSignalStrengthsChanged(signalStrength); 
     if (signalStrength.isGsm()) { 
      if (signalStrength.getGsmSignalStrength() != 99) 
       signalStrengthValue = signalStrength.getGsmSignalStrength() * 2 - 113; 
      else 
       signalStrengthValue = signalStrength.getGsmSignalStrength(); 
     } else { 
      signalStrengthValue = signalStrength.getCdmaDbm(); 
     } 
    } 

}