title: Android TelephonyManager getAllCellInfo() refresh rate RSSI
body: <p>I'm currently developing an Android application for my university research project. This app should be able to read the RSSI levels of the nearby GSM base stations. I coded the following function which succesfully reads the RSSI levels of the nearby cells. I'm calling this function every 200 ms but the RSSI values almost don't change over time. I suspect the baseband processor only update these values each x s but I can't find anything about the refresh rate. Does anybody know how fast the info in <em>getAllCellInfo()</em> is refreshed? The reason I want to know this is because timing is realy important for my set-up. In the lab we enable and disable a jammer at a certain frequency (greater than 1 Hz). When the jammer is enabled the RSSI value will drop. So I would like to know how fast the RSSI can be refreshed to detect this signal drops if the jammer is enabled and disabled at for example 10 hz.</p>
  
  <pre><code>public HashMap&lt;Integer,Integer&gt; RSSI_values() {
  
      HashMap&lt;Integer,Integer&gt; result = new HashMap&lt;Integer,Integer&gt;();
  
      TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
      telephonyManager.getNetworkType();
      List&lt;CellInfo&gt; CellInfo_list = telephonyManager.getAllCellInfo();
      if(telephonyManager.getNetworkType() == TelephonyManager.NETWORK_TYPE_EDGE) {
          for (int i = 0; i &lt; CellInfo_list.size(); i++) {
              CellInfoGsm cellinfogsm = (CellInfoGsm) CellInfo_list.get(i);
  
              int cid = cellinfogsm.getCellIdentity().getCid();
  
              CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
              int rssi = cellSignalStrengthGsm.getDbm();
  
              result.put(cid,rssi);
          }
      } 
      return result;
  }
  </code></pre>
  
  <p>In case this refresh rate is device specific I'm on a nexus 5 android 6.0.1</p>