Неверное значение параметра RSRQ в Android
У меня проблема с получением параметра RSRQ LTE в Android. Он должен быть в диапазоне <-20 дБ, но в диапазоне ~ -100 дБ, и он принимает значения, аналогичные параметру RSRP. Что я делаю не так? Вот часть моего кода:
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
if (ContextCompat.checkSelfPermission(MainActivity.mContext, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.mActivity, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, MainActivity.MY_REQUEST_CODE);
} else {
GetLteInfo.listCellInfo = GetLteInfo.tManager.getAllCellInfo();
System.out.println("access ok");
}
if (listCellInfo != null) {
for (CellInfo a_Info : listCellInfo) {
if (CellInfoLte.class.isInstance(a_Info)) {
CellInfoLte cellInfoLte = (CellInfoLte) a_Info;
CIL = cellInfoLte.getCellIdentity();
CSS = cellInfoLte.getCellSignalStrength();
if (a_Info.isRegistered()) {
CellIdentity = CIL.getCi();
MobileCountryCode = CIL.getMcc();
MobileNetworkCode = CIL.getMnc();
CellId = CIL.getPci();
TrackingAreaCode = CIL.getTac();
AsuLevel = CSS.getAsuLevel();
SignalStrengthdBm = CSS.getDbm();
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
CQI = CSS.getCqi();
SNR = CSS.getRssnr();
RSRP = CSS.getRsrp();
RSRQ = CSS.getRsrq();
}
pushToFirebase(counter, generatedKey);
counter++;
}
}
}
}
}