Measuring "real" phone signal strength on a mobile phone

Posted by Serafeim on Stack Overflow See other posts from Stack Overflow or by Serafeim
Published on 2009-12-04T13:40:04Z Indexed on 2010/03/31 10:23 UTC
Read the original article Hit count: 622

I want to programmatically measure the phone signal strength in a mobile phone. I don't actually care about the mobile phone or the programming environment: It can be based on android or windows mobile or even J2ME and can be from any manufacturer (please no iPhone). However, it needs to be a real, commercial mobile phone and not a special measurement device.

This problem is not as easy as it seems with a first look. I am aware that there already exist a number of methods that claim to return the phone signal strength. Some of these are:

  • SystemState.PhoneSignalStrength for WM6
  • RIL_GetCellTowerInfo for WinCe (dwRxLevel member of returned RILCELLTOWERINFO struct)
  • android.telephony.NeighboringCellInfo.getRssi() for android

The problem with the above is that they only return a few (under 10) discrete values, meaning that, for instance, the return values of SystemState.PhoneSignalStrength can only be translated to (for instance) -100 dbm, -90 dbm, -80 dbm, -70 dbm and -60 dbm, something that is not useful for my application, since I'd like to have as much precision as possible.

It doesn't matter if there is an undocumented solution that only works on only one phone, if you can tell me a way I'd be grateful.

Thanks in advance

© Stack Overflow or respective owner

Related posts about mobile-phones

Related posts about android