1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

[Gelöst] GSM Zelle ausgeben

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von dermattn, 17.04.2011.

  1. dermattn, 17.04.2011 #1
    dermattn

    dermattn Threadstarter Erfahrener Benutzer

    Beiträge:
    183
    Erhaltene Danke:
    1
    Registriert seit:
    09.05.2009
    Hi,
    ich möchte für eine funktionalität meiner app die aktuelle ID der GSM Zelle ausgeben
    ich hab natürlich geschaut wie es gehen sollt und mich eig auch daran gehalten ( GsmCellLocation | Android Developers )

    hier mein sniplet

    dummerweise gibt der mir die ID -1 aus (es konnte also keine zelle ermittelt werden) und ja ich habe das auf meinem tel getestet und nicht im emulator

    was mach ich falsch ?
     
  2. garak, 18.04.2011 #2
    garak

    garak Ehrenmitglied

    Beiträge:
    8,270
    Erhaltene Danke:
    4,796
    Registriert seit:
    12.12.2009
    1. Hast du die Berechtigung aktiviert?: android:name="android.permission.ACCESS_COARSE_LOCATION"

    2. Musst du dir die Cell-Location über den Telefonmanager besorgen:
    Code:
    TelephonyManager tm  = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
    GsmCellLocation location = (GsmCellLocation) tm.getCellLocation();
    
     
  3. dermattn, 18.04.2011 #3
    dermattn

    dermattn Threadstarter Erfahrener Benutzer

    Beiträge:
    183
    Erhaltene Danke:
    1
    Registriert seit:
    09.05.2009
    danke habs gestern abend rausgefunden -

    ja genauso gehts iwoher muss ich mir ja die info "ziehen" der leere construktor ist ja mit -1 -1 initialisiert
     
  4. RKramer, 19.06.2011 #4
    RKramer

    RKramer Neuer Benutzer

    Beiträge:
    1
    Erhaltene Danke:
    0
    Registriert seit:
    19.06.2011
    Hallo,

    ich experimentiere auch gerade mit den CellIds herum.

    Komischerweise funktioniert der Code nicht mehr im Emulator 2.3.
    Im Emulator 2.1, auf dem Gerät Android 2.1 und 2.3 läuft der Code. Ich bekomme einen Force Close. Vermutlich einen NULL Pointer in der Zeile "Integer i = CellLocation.getCid();"

    Habt ihr auch das Problem?

    RaKa


    ######
    Habe die Lösung gefunden (die If Abfrage ist notwendig geworden, vorher ging es ohne) :

    if (location instanceof GsmCellLocation) // ergänzt um IF Abfrage 06/2011
    {
    lac = location.getLac();
    cellID = location.getCid();
    Log.v(TAG, "Ausgelesene lac:" + lac + ", CellID: " + cellID);
    }
    else
    {
    lac = 1;
    cellID = 1;
    Log.v(TAG, "Emulator lac:" + lac + ", CellID: " + cellID);
    }
     
    Zuletzt bearbeitet: 19.06.2011
  5. dermattn, 20.06.2011 #5
    dermattn

    dermattn Threadstarter Erfahrener Benutzer

    Beiträge:
    183
    Erhaltene Danke:
    1
    Registriert seit:
    09.05.2009
    ja geht im emulator nicht .... also ich arbeite mit dem 2.3.3 er
    aber auf dem handy gehts ohne probleme ....
     

Diese Seite empfehlen