android – 如何获得当前的细胞信号强度?

我想存储细胞信号强度,我这样做:

private class GetRssi extends PhoneStateListener {
    @Override
    public void onSignalStrengthsChanged(SignalStrength signalStrength) {
        super.onSignalStrengthsChanged(signalStrength);
        Variables.signal = signalStrength.getGsmSignalStrength();


    }

}

好的,但只有在它发生变化时才会运行.我需要当前的信号强度.

有没有办法只询问当前的信号强度?

解决方法:

在API 17中添加了TelephonyManager中的getAllCellInfo()方法,这可能是一个很好的解决方案.使用示例:

TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
// for example value of first element
CellInfoGsm cellInfoGsm = (CellInfoGsm)telephonyManager.getAllCellInfo().get(0);
CellSignalStrengthGsm cellSignalStrengthGsm = cellInfoGsm.getCellSignalStrength();
cellSignalStrengthGsm.getDbm();
上一篇:如何在Android中获取Phone实例?


下一篇:java-可以在通话过程中利用Android API修改呼叫者的语音吗?