私有类包,如 android.telephony/telecom

问题描述

我想使用 android.telephony.CellSignalStrengthWcdma 中的一些方法,但是我遇到了一些错误。我只有以下代码

public void calculate(View view) {
    CellSignalStrengthWcdma cell = new CellSignalStrengthWcdma();
}

这给了我以下错误

'CellSignalStrengthWcdma()' is not public in 'android.telephony.CellSignalStrengthWcdma'. Cannot be accessed from outside package

如果不创建此类的对象,我将无法使用它的方法,例如 getDbm()

我如何使用这些方法

解决方法

当您有 CellInfo 时,您可以将其投射到 CellInfoWcdma,然后获取其信号强度 CellSignalStrengthWcdma

if (cellInfo instanceOf CellInfoWcdma) {
  CellSignalStrengthWcdma cellSignalStrength = ((CellInfoWcdma) cellInfo).getCellSignalStrength();
}

文档