我目前正在编写 android 2.1 中的一些代码,该代码应该测量 gsm 信号的信号强度。我需要的是某种列表,其中包含与相应信号强度匹配的某种网络 ID……我已经做到了:
public class main extends Activity {
TelephonyManager telManager;
GSMListener gsmListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gsmListener = new GSMListener();
telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
telManager.listen(gsmListener ,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}
private class GSMListener extends PhoneStateListener {
/* Get the Signal strength from the provider, each time there is an update */
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
Toast.makeText(main.this, "GSM Cinr: " + signalStrength.getGsmSignalStrength(), Toast.LENGTH_SHORT).show();
}
};
}
但在这一点上,我想知道是否有像 wifi 网络的 bssid 这样的网络 ID?gsm是如何处理的?我需要确定我得到信号强度的 gsm 网络。
编辑:
“network-id”表示“cell-id”。我需要的是*all available*
范围内的 gsm 网络列表及其接收质量。我对运营商 ID 不太感兴趣,因为我需要识别小区和网络,我从中获取信号强度。