有没有办法将 CellInfoNr 转换为 CellSignalStrengthNr?

ROZ*_*ZIA 1 android cellinfo 5g

我正在寻找输出内部小区信息(如 RSRP、RSRQ、SINR、RSSI)的文档。

我想查看5G(新无线电)数据。

cellRSRP = ((CellSignalStrengthNr) ((CellInfoNr) cellInfo).getCellSignalStrength()).getCsiRsrp();
Run Code Online (Sandbox Code Playgroud)

这就是我尝试获得 5G 的 cellRSRP 的方法。这与获取 LTE 数据非常相似。


这不起作用,因为我故意施放

(CellSignalStrengthNr)
Run Code Online (Sandbox Code Playgroud)

在此代码上

((CellInfoNr) cellInfo).getCellSignalStrength())
Run Code Online (Sandbox Code Playgroud)

由于getCellSignalStrength()不返回CellSignalStrengthNr数据,(它返回CellSignalStrength

所以我只是投射代码,没有检测到错误,一切似乎都很顺利。

但事实并非如此,我来这里是为了问一个问题。

所以,简而言之,

  1. CellSignalStrengthNr没有不用铸造的正常制作方法?
  2. 或者我应该尝试更多不同的铸造方式?

Kev*_*Ryu 5

根据 android.telephony 中的代码,CellSignalStrengthNr 扩展了 CellSignalStrength。

因此,我认为您不需要将 CellSignalStrength 更改为 CellSignalStrengthNr。如果“telephonyManager.requestCellInfoUpdate()”返回CellInfoNr,则CellInfoNr中的CellSignalStrength为CellSignalStrengthNr。

做就是了..

CellInfoNr cellinfo = ((CellInfoNr) cellInfo)
CellSignalStrengthNr signal = ((CellSignalStrengthNr) cellinfo.getCellSignalStrength())
Run Code Online (Sandbox Code Playgroud)