2012-09-19 17 views
5

Actualmente estoy trilaterando mi Android con las celdas de mi red. Es aún más preciso de lo que pensé que sería. Pero no es tan preciso como quiero que sea. Entonces quiero involucrar más torres de las que obtengo de getNeighboringCellInfo. Quiero obtener la ID de celda y la potencia de la señal de cada torre en el rango. De cada operador de red. ¿Hay alguna manera de "hacer ping" a las torres, entonces responden con cellID, Lac y signalstrength? De alguna manera esto tiene que ser posible. ¿Y puedo escanear el paralelo 2G y 3G (y 4G)? ¿O puedo cambiar entre ellos programáticamente? ¿Alguna sugerencia? Espero que esté lo suficientemente claro ...Obtención de CID, LAC y potencia de la señal de todas las torres de telefonía celular en el rango

Respuesta

1

Parece TelephonyManager y getNeighboringCellInfo() son lo que estás buscando.

Aquí está un ejemplo, que es fácil y sencillo:

/* first you wanna get a telephony manager by asking the system service */ 
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 

/* then you can query for all the neighborhood cells */ 
List<NeighboringCellInfo> neighbors = tm.getNeighboringCellInfo(); 

/* here's something you can get from NeighboringCellInfo */ 
for (NeighboringCellInfo n : neighbors) { 
    Log.v("CellInfo", "" + n.getCid()); 
    Log.v("CellInfo", "" + n.getLac()); 
    Log.v("CellInfo", "" + n.getPsc()); 
    Log.v("CellInfo", "" + n.getRssi()); 
} 

Asegúrese de incluir todos los permisos necesarios, tales como ACCESS_COARSE_LOCATION o READ_PHONE_STATE, dependiendo de lo API que va a utilizar, en su manifiesto archivo, o simplemente se bloqueará.

Oh, por cierto esto solo funciona para 2G. 3G o superior no es compatible con este tipo de operación.

+1

"Así que quiero involucrar más torres que las que obtengo de getNeighboringCellInfo". Ya estoy leyendo CID de las celdas vecinas. Pero quiero obtener TODOS los CID de CADA operador de red dentro del alcance. – albrechtATnetzfactor

+0

tm.getAllCellInfo() es una mejor opción. – ofskyMohsen

Cuestiones relacionadas