我目前正在编写 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 不太感兴趣,因为我需要识别小区和网络,我从中获取信号强度。
最佳答案
每个运营商都有一个唯一的 ID,一个称为 PLMN(公共(public)陆地移动网络)的 5 位数字。
该号码由一个 3 位数的 MCC(移动国家代码)和一个 2 位数的 MNC(移动网络代码)组成。
wikipedia list是一个比较完整的列表。
关于android - 如何获得可用的 gsm 网络列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3169541/