Не может получить моторид и лак для текущей клетки
Вопрос
Я пытался получить 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();
Не связан с StackOverflow