如何获得可用的GSM网络列表?
问题描述:
我目前正在写一些代码在android 2.1的应该测量gsm信号的信号强度。 我需要的是某种形式的名单有某种匹配相应的信号strengthes网络ID ... 我走到这一步:如何获得可用的GSM网络列表?
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();
}
};
}
,但在这一点上,我不知道是否有网络ID,如无线网络?这是如何处理与GSM?我需要确定我获得信号强度的GSM网络。
编辑:
“network-id”,意思是“cell-id”。我需要的是范围内的*all available*
gsm网络列表以及它们的接收质量。运营商ID对我来说并不是很感兴趣,因为我需要识别小区和网络,我从中获得信号强度。
答
每个运营商都有一个唯一的ID,即一个名为PLMN(公共陆地移动网络)的5位数字号码。
该号码由一个3位MCC(移动国家代码)和一个2位MNC(移动网络代码)组成。
wikipedia list是一个比较完整的列表。