Я заинтересован в использовании мобильных телефонов для проведения полевых испытаний сети, т. Е. Для сбора информации о силе сигнала, а также других связанных значениях для мобильной сети, в частности для сетей 4G-LTE.
Существует несколько приложений, которые могут это сделать, например, GNet-Track (https://play.google.com/store/apps/details?id=com.gyokovsolutions.gnettracklite)
Эти приложения используют TelephonyManager
getAllCellInfo()
для извлечения информации для обслуживающей ячейки (ячейки, к которой подключено мобильное устройство), а также для соседних ячеек (ячейки, которые мобильное устройство может обнаруживать, но не может подключен к).
В зависимости от мобильного телефона (например, http://www.gyokovsolutions.com/survey/surveyresults.php), а также от технологии подключения (3G, 4G и т. Д.), Более или менее информация извлекается с помощью getAllCellInfo()
. Например, некоторые телефоны не сообщают информацию вообще о соседних ячейках, тогда как другие могут сообщать только о силе сигнала и т. д.
Из объекта CellInfo
можно получить идентификатор ячейки через getCellIdentity()
(если быть точным, это getCellIdentityLte()
, getCellIdentityGsm()
и т. Д. В зависимости от используемой сетевой технологии).
Объект CellIdentityLte
содержит (или, по крайней мере, должен содержать) значения mcc
, mnc
и ci
(идентификатор ячейки), которые можно использовать для глобальной идентификации ячейки (вычисления ecgi).
Теперь проблема, с которой я сталкиваюсь, заключается в том, что каждый телефон, с которым я сталкивался до сих пор (например, OnePlus-Three, Samsung S7), не может сообщить идентификатор соседних ячеек (вместо UNAVAILABLE
(= 2147483647) возвращается). Доступны другие значения, например поле PCI
из LTECellIdendity
соседних ячеек было доступно.
Мой вопрос: кто-нибудь сталкивался с мобильными телефонами, которые могут сообщать о cell-identity
соседних ячеек в 4G
-сети?
Это, кажется, повторяющаяся проблема (связанные обсуждения касаются других технологий, но сталкиваются с той же проблемой):