getCellLocation возвращает ноль - PullRequest
2 голосов
/ 26 июля 2010

Я пытаюсь получить доступ к информации о текущем местоположении ячейки. Когда я попробуйте позвонить getCellLocation(), он возвращает null.

Я не могу объяснить это .. тот же код работает на 1.5, но не работает на 1.6 или 2.1. (Проверено на G1 с 1.6 и HTC legend 2.1.)

Может кто-нибудь помочь мне исправить эту ошибку? Мой код ниже.

TelephonyManager tMgr = (TelephonyManager)
getSystemService(TELEPHONY_SERVICE);
outputView = (TextView) findViewById(R.id.output);

outputView.append("Device type:" + tMgr.getPhoneType() + "\n");

GsmCellLocation gsmCellLocation = (GsmCellLocation) tMgr.getCellLocation();
if (gsmCellLocation != null) {
    String mCellId = "" + gsmCellLocation.getCid();
    String mLAC = "" + gsmCellLocation.getLac();
    Log.d("SDKService", "Cell Id: " + mCellId + " LAC: " + mLAC);
    outputView.append("Cell Id: " + mCellId + " LAC: " + mLAC + "\n");
}

Также я добавил следующие разрешения:

  • ACCESS_FINE_LOCATION
  • ACCESS_COARSE_LOCATION
  • CONTROL_LOCATION_UPDATES

Нужно ли добавлять какие-либо другие разрешения?

Пожалуйста, дайте мне знать, где я ошибся.

1 Ответ

0 голосов
/ 11 июня 2012

getCellLocation () возвращает ноль, если текущее местоположение недоступно.

http://developer.android.com/reference/android/telephony/TelephonyManager.html#getCellLocation%28%29

Дополнительно проверьте наличие информации о типе Baseband в настройках вашего телефона.

...