views:

1263

answers:

2

I am trying to write a very simple Android application that checks the signal strength of the current cell. So far, I have only found something called getNeighboringCellInfo(), but I'm not really sure if that includes the current cell.

How do I get the CURRENT cell signal strength in Android?

Does getNeighborCellInfo() get the current cell? It doesn't seem like it based on the results that I have been able to get with it. Here's my current code:

        List<NeighboringCellInfo> n = tm.getNeighboringCellInfo();

        //Construct the string
        String s = "";
        int rss = 0;
        int cid = 0;
        for (NeighboringCellInfo nci : n)
        {
         cid = nci.getCid();
            rss = -113 + 2*nci.getRssi();
            s += "Cell ID: " + Integer.toString(cid) + "     Signal Power (dBm): " + Integer.toString(rss) + "\n";
        }

        mainText.setText(s);
+4  A: 

create a PhoneStateListener and handle the onSignalStrengthChanged callback. When your app is initialized, it should give you an initial notification. This is in 1.x. in 2.x, there's an open issue about this.

jspcal
Thank you very much. I got it working.
Doughy
+1  A: 

Try the fallowing learn by example tutorial, it help me when I was programming.

http://www.firstdroid.com/2010/05/12/get-provider-gsm-signal-strength/

Adrian.

azelez