Java 什么是CellInfo?如何使用getAllCellInfo获取一种连接类型的信息?

Java 什么是CellInfo?如何使用getAllCellInfo获取一种连接类型的信息?,java,android,telephonymanager,cellinfo,Java,Android,Telephonymanager,Cellinfo,目标:获取特定连接类型(我实际使用的连接类型)的信息(信号强度) 问题:我不太清楚resentCellInfo到底是什么,以及如何从getAllCellInfo 问题: 1) 来自android开发者网站 CellInfo:来自某个时间点的不可变单元格信息 这是什么意思 2) 我想知道我是在使用wcdma、umts、gsm还是lte。我在这里找到了一段使用getAllCellInfo的代码,它位于我的修改版本下方,用于获取信号强度 for (final CellInfo info : tel

目标:获取特定连接类型(我实际使用的连接类型)的信息(信号强度)

问题:我不太清楚resent
CellInfo
到底是什么,以及如何从
getAllCellInfo

问题:

1) 来自android开发者网站

CellInfo:来自某个时间点的不可变单元格信息

这是什么意思

2) 我想知道我是在使用wcdma、umts、gsm还是lte。我在这里找到了一段使用getAllCellInfo的代码,它位于我的修改版本下方,用于获取信号强度

  for (final CellInfo info : telephonyManager.getAllCellInfo()) {

            if (info instanceof CellInfoGsm) {

                final CellSignalStrengthGsm gsm = ((CellInfoGsm) info).getCellSignalStrength();
                if(gsm.getLevel() >= localMaxSignalStrength)
                     localMaxSignalStrength = gsm.getLevel();
                Toast.makeText(getApplicationContext(), "gsm rssi" + localMaxSignalStrength, Toast.LENGTH_LONG).show();

            } else if (info instanceof CellInfoWcdma) {

                final CellSignalStrengthWcdma cdma = ((CellInfoWcdma) info).getCellSignalStrength();
                if(cdma.getLevel() >= localMaxSignalStrength)
                    localMaxSignalStrength = cdma.getLevel();
                Toast.makeText(getApplicationContext(), "wcdma rssi" + localMaxSignalStrength, Toast.LENGTH_LONG).show();

            } else if (info instanceof CellInfoLte) {

                final CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength();
                if(lte.getLevel() >= localMaxSignalStrength)
                    localMaxSignalStrength = lte.getLevel();
                Toast.makeText(getApplicationContext(), "lte rssi" + localMaxSignalStrength, Toast.LENGTH_LONG).show();
现在从我在Android开发者网站上读到的

getAllCellInfo():从设备上的所有收音机返回所有观察到的小区信息 包括主单元格和相邻单元格。调用此方法会 不触发对onCellInfoChanged()的调用,也不更改 调用onCellInfoChanged()

该列表可以包括一个或多个CellInfoGsm、CellInfoCdma、, CellInfoLte和CellInfoWcdma对象的任意组合

这意味着
getAllCellInfo()
不会只返回一种连接信息,但它们可以混合使用。
我想知道我的手机是在使用所有返回的代码还是只使用其中一个(在后一种情况下,如何找到我正在使用的代码)。

您发布的代码是否工作不正常?这看起来是一个很好的起点,你需要什么,你在运行它时看到了什么?此外,您可能需要检查每个CellInfo上的
isRegistered()
方法,以查看它们是否已连接