2010-10-07 3 views
1

j'ai essayé de récupérer Cid et du lac pour la cellule actuellement connecté, mais en utilisantne peut pas récupérer et CellID LAC pour la cellule actuelle

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(); 
} 

La seule chose que je reçois est -1 valeur pour les deux paramètres (je suis sur 2G). Peut-être que je fais quelque chose de mal ou il y a une autre façon d'obtenir Cid et Lac de la cellule actuelle?

Répondre

5
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 
CellLocation location = telephonyManager.getCellLocation(); 
GsmCellLocation gsmLocation = (GsmCellLocation) location; 
int cellId = gsmLocation.getCid(); 
int lac = gsmLocation.getLac(); 
+0

Merci pour une réponse rapide. J'ai juste une question. Pourquoi utilisez-vous context.getSystemService, mais pas seulement getSystemService? – StalkerRus

+3

En fait, il n'y a pas de différence. J'utilise le champ de contexte parce que j'appelle cette méthode pas de l'activité. Si vous avez besoin de TelephonyManager depuis Activity, appelez simplement getSystemService. – cement

+0

Tnx pour explication. – StalkerRus

Questions connexes