Метод getAllCellInfo() возвращает null

У меня есть приведенный выше код, и перед вставкой try-catch у меня была эта ошибка в logcat

java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference

Проблема заключалась в цикле for для списка CellInfoList. Где именно проблема.

List<CellInfo> cellInfoList = tm.getAllCellInfo();
            try {
                for (final CellInfo info : cellInfoList) {
                    if (info instanceof CellInfoLte) {
                        final CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength();
                        final CellIdentityLte identityLte = ((CellInfoLte) info).getCellIdentity();
                        test1 = lte.getDbm();
                        //lte.getTimingAdvance();
                        test2 = identityLte.getMcc();
                        //identityLte.getMnc();
                        test3 = identityLte.getCi();
                    }
                }
            } catch (Exception e) {
                Log.e(TAG, "Unable to obtain cell signal information", e);
            }

Спасибо

Что такое tm? опубликовать инициализацию тм

Santanu Sur 05.03.2019 20:28

@SantanuSur тм это TelephonyManager tm = (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE);

Edward M 05.03.2019 20:43

убедитесь, что вы добавили необходимые разрешения в манифест!

Santanu Sur 05.03.2019 20:50

Да, все мои разрешения, я думаю, включены

Edward M 05.03.2019 20:55
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
4
203
1

Ответы 1

В конце концов, проблема заключалась в том, что мое устройство не позволяло мне использовать эту информацию для заполнения массива. На другом смартфоне все работает нормально. Спасибо

Другие вопросы по теме