android - 如何获得可用的 gsm 网络列表?

标签 android gsm signal-strength

我目前正在编写 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/

相关文章:

android - 不能从静态上下文中引用非静态变量?

android - 循环检查互联网 Activity

android - 如何在 xml 中显示 ChipGroup 中的占位符 Chip?

java - 在 Activity 内创建 fragment

algorithm - 如何同时使用Triangulation和Timing Advance距离计算方法。

android - 从 HSPA 网络服务的电话获取信号强度 RSCP 和 Ec/Io

iphone - 读取 iPhone 运营商的信号强度

ios - 在ios中修改GSM DATA

c# - 如何正确解析从 GSM 模块收到的响应数据?

ios - 不使用私有(private) API 获取电话 (GSM) 信号强度