Как получить уровень сигнала андроид?

CellSignalStrength ближе всего к тому, что мне нужно, но проблема в том, что я Я столкнулся с тем, что нет конструктора для использования класса, и я попытался создать новый класс и расширить его, это не сработало, документация по Android хороша, не предлагая один небольшой фрагмент кода для подражания, я не не знаю что делать.

я использую API 8, который не поддерживает этот класс, что мне делать?


person Omar Awamry    schedule 19.01.2016    source источник


Ответы (1)


TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
List<CellInfo> all = telephonyManager.getAllCellInfo();
CellInfoGsm cellinfogsm = (CellInfoGsm) all.get(0);
CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
int strengthDbm = cellSignalStrengthGsm.getDbm();

должно нормально работать для API 17+. Однако я не знаю ни одного API, который помог бы ‹17.

person Eric Cochran    schedule 19.01.2016
comment
я сделал новый проект с API 17, чтобы проверить это. он выдает сообщение об ошибке, не может разрешить контекст символа, тот, что в первой строке. - person Omar Awamry; 19.01.2016
comment
Ссылка context может быть вашей Activity, скорее всего. (developer.android.com/reference/android/content/Context.html) - person Eric Cochran; 19.01.2016
comment
Я пробовал это, но не работал: TelephonyManager telephonyManager = (TelephonyManager) activity_main.getSystemService(Context.TELEPHONY_SERVICE); - person Omar Awamry; 19.01.2016
comment
если вы используете Activity, попробуйте getApplicationContext().getSystemService.. - person Dhinakaran Thennarasu; 19.01.2016
comment
мой телефон имеет андроид 4.4.4 - person Omar Awamry; 19.01.2016
comment
java.lang.NullPointerException: попытка вызвать метод интерфейса 'java.lang.Object java.util.List.get(int)' для нулевой ссылки на объект 03-28 14:35:42.117 16909-16909/com.example.tene11 .lockappnew W/System.err: at com.example.tene11.lockappnew.Data.SimInfo.getSimInfo(SimInfo.java:29) 03-28 14:35:42.117 16909-16909/com.example.tene11.lockappnew W/ System.err: в com.example.tene11.lockappnew.services.DeviceStatus.onReceive(DeviceStatus.java:98) 03-28 14:35:42.117 16909-16909/com.example.tene11.lockappnew - person Karthik; 28.03.2017