gpt4 book ai didi

android - 在 CDMA 连接时如何获取网络 Cell ID?

转载 作者:行者123 更新时间:2023-12-05 00:07:32 24 4
gpt4 key购买 nike

我可以使用 GsmCellLocation 对象获取我的网络单元 ID。但是当我使用 CDMA、3G、HSDPA 或 UMTS 时......我无法获得 Cell ID。使用带有 3G 连接的 GsmCellLocation.getCid() 检索称为 LCID(逻辑信道 ID)的东西,它不是 Cid。我用来获取 Gsm Cell ID 的代码如下所示:

private PhoneStateListener mPhoneLocationListener = new PhoneStateListener() {
public void onCellLocationChanged(CellLocation location) {
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
GsmCellLocation location2 = (GsmCellLocation) tm.getCellLocation();
cellId = location2.getCid();
}
}

但是当我换行时:

GsmCellLocation location2 = (GsmCellLocation) tm.getCellLocation();

到:

CdmaCellLocation location2 = (CdmaCellLocation) tm.getCellLocation();

即使我强制我的设备仅连接到 CDMA,也会抛出异常并显示 CastException 说无法将 GsmCellLocation 转换为 CdmaCellLocation

那么如何获取 3g 小区 ID 信息?

最佳答案

尝试这样的事情

CellLocation cl = tm.getCellLocation();
GsmCellLocation gsmLoc;
CdmaCellLocation cdmaLoc;
try {
gsmLoc = (GsmCellLocation) cl;
System.out.println(gsmLoc.getCid());
} catch (ClassCastException e) {
cdmaLoc = (CdmaCellLocation) cl;
System.out.println("Base station ID - "+ cdmaLoc.getBaseStationId());
}

关于android - 在 CDMA 连接时如何获取网络 Cell ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14956799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com