我正在编写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网络,我正在获得信号强度。
编辑:
by“network-id”,意思是“cell-id”。我需要的是范围内的*all available*
gsm网络列表及其接收质量。我不太关心operator-id,因为我需要识别单元格和网络,我从中获得信号强度。
答案 0 :(得分:4)
每个运营商都有一个唯一的ID,一个名为PLMN(公共陆地移动网络)的5位数字。
该号码由3位MCC(移动国家代码)和2位MNC(移动网络代码)组成。
wikipedia list是一个相对完整的列表。