Получить соседнюю ячейку в Android возвращает ноль - PullRequest
1 голос
/ 01 февраля 2012

Я пытаюсь получить информацию о соседних ячейках в Android, но функция getNeighboringCellInfo() всегда возвращает ноль.

Я использовал следующий код:

protected void getCellInfo() {
    TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

    List<NeighboringCellInfo> neighborCells = telephonyManager.getNeighboringCellInfo();
    if (neighborCells == null) {
        OutUtils.debug("no neighbor cells");
    } else {
        ...
    }
}

Переменная context относится к классу обслуживания.

Мое разрешение AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Я пробовал с и без включения опции «Использовать сети 2G» в Android.

Есть идеи? Спасибо

Ответы [ 3 ]

4 голосов
/ 30 января 2013

Если вы можете запустить logcat, попробуйте запустить logcat -b radio . Если вам повезет, код RIL будет выплевывать сообщения отладки, показывая фактический запрос модему на информацию о соседней ячейке. Вполне может быть, что модем просто возвращает пустой список. Если это так, то это не имеет никакого отношения к разрешениям, и вы не можете многое исправить.

1 голос
/ 07 октября 2014

Реализация cellid варьируется от мобильного устройства к мобильному устройству, поскольку эти функции считаются необязательными.например:

Samsung (все устройства): getNeigbouringCells () вообще не поддерживается и всегда возвращает пустой список.

в соответствии с этим: http://wiki.opencellid.org/wiki/Android_library

иэто: https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=24306

0 голосов
/ 01 февраля 2012

Думаю, возможно, вы не установили все необходимые разрешения в манифесте. смотрите здесь Нулевая проблема с NeighboringCellInfo, CID и LAC

Если вы думаете, что они у вас есть, поставьте манифест и в вопросе, пожалуйста.

...