2013-07-23 6 views
9

Ho trovato così tanto codice che recupera il cell-id e il codice dell'area di ubicazione e utilizzo il codice qui sotto per recuperare cell-id e il codice dell'area di ubicazione.Come ottenere l'ID cella corretto e il codice area posizione in Android?

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation(); 

int cid = cellLocation.getCid(); 
int lac = cellLocation.getLac(); 

Il problema è che quando uso una scheda Airtel-SIM che funziona bene e dare cell-id = 4331 e loc = 610. Ma quando uso una scheda sim-relience, restituisce un risultato errato cell-id = 11541 e loc = 18823. Come potrei risolvere questo?

+0

Ciao, uso il codice dall'URL http://sunil-android.blogspot.in/2013/01/convert-celllocation-to-real-location.html per recuperare la posizione e funziona bene per Airtel ma in caso di sollievo non funziona. come so che significa che il codice area di localizzazione e id cella che ottengo in caso di sollievo non è corretto. qualsiasi aiuto? – User10001

+0

Ci sono molte applicazioni che mostrano l'id della cella corretta ma il mio codice non funziona per la 3g simcard. – User10001

+0

qual è il tuo risultato con il tuo simulatore di sollievo usando 'cid = cellLocation.getCid() & 0xffff;'? – sschrass

risposta

0

Solutions sono evidenziate in questo thread: Android: CellID not available on all carriers?

In breve è necessario mascherare il numero che si ottiene da getCid() quando nella rete 3G con 0xffff. Di seguito è un frammento:

GsmCellLocation cellLocation = (GsmCellLocation)telm.getCellLocation(); 

new_cid = cellLocation.getCid() & 0xffff; 
new_lac = cellLocation.getLac() & 0xffff; 

Speranza che aiuta

+0

Ho già provato questo. – User10001

0

Cell ID e ID LAC sono diversi sulla base di reti, come lei ha detto che si sta utilizzando due diverse SIM di reti diverse in modo da otterrete cella diversa e questi ultimi non saranno uguali. Perché l'id della cella di un operatore sarà diverso rispetto ad altre reti poiché due diverse torri sono utilizzate da reti diverse e hanno assegnato entrambi gli id.

Problemi correlati