我想在点击 API 调用时获得设备的信号强度。我已经搜索了所有相关线程,但我还没有成功。
所以我想得到像这样的信号强度
SignalStrength ss = null ; // some initialization
int n = ss.getGsmSignalStrength();
但是在使用这个的时候,很明显我会得到空指针异常,因为我已经初始化SignalStrength
为空了。但我不知道如何初始化它。
我也不想使用它,PhoneStateListener
因为它仅在信号更改时才会触发。
我正在使用以下代码获取信号强度
TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
CellInfoGsm cellinfogsm = (CellInfoGsm)telephonyManager.getAllCellInfo().get(0);
CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
cellSignalStrengthGsm.getDbm();
但我不想使用CellSignalStrength
,因为它只在 API Level 17 中添加,并且在 17 下无法使用。我希望代码在 API Level 7+ 上工作。
或者有没有其他方法可以让我在调用 API 时获得信号强度?