Не может получить моторид и лак для текущей клетки

StackOverflow https://stackoverflow.com/questions/3883983

  •  28-09-2019
  •  | 
  •  

Вопрос

Я пытался получить CID и LAC для подключенной клетки в данный момент, но используя

public void GetCid(){
  int CID;
  int LAC;
  GsmCellLocation xXx = new GsmCellLocation();
  CID = xXx.getCid();
  LAC = xXx.getLac();
  Toast output = Toast.makeText(getApplicationContext(), "Base station LAC is "+LAC+"\n" 
  +"Base station CID is " +CID, Toast.LENGTH_SHORT);
  output.show();
}

Единственное, что я получаю, это -1 со значением для обоих параметров (я на 2 г). Может быть, я делаю что-то не так или есть другой способ получить CID и Lac из нынешней клетки?

Это было полезно?

Решение

TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
CellLocation location = telephonyManager.getCellLocation();
GsmCellLocation gsmLocation = (GsmCellLocation) location;
int cellId = gsmLocation.getCid();
int lac = gsmLocation.getLac();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top