Я хочу получить уровень сигнала устройства в тот момент, когда я нажимаю вызов API. Я искал во всех связанных темах, и я еще не увенчался успехом.
Поэтому я хотел бы получить мощность сигнала, как
SignalStrength ss = null ; // some initialization
int n = ss.getGsmSignalStrength();
Но при использовании этого очевидно, что я получу исключение нулевого указателя, так как я инициализировал SignalStrength
как 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 уровня 17 и не будет работать до 17 лет. Я хочу, чтобы код работал на уровне API 7+.
Или есть какой-то другой метод, чтобы я мог получить уровень сигнала в момент срабатывания вызова API?