Android TelephonyManager getAllCellInfo() refresh rate RSSI
<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>