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

GPS Abfrage geht in Emulator, aber nicht in Handy

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Elvis, 04.08.2010.

  1. Elvis, 04.08.2010 #1
    Elvis

    Elvis Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    04.08.2010
    Ich habe ein xperia 10 (Android 1.6) und habe ein kleines Programm geschrieben, das einfach nur die aktuellen GPS Daten auslesen und ausgeben soll. Auf dem Emulator des SDK funktioniert es, auf dem Handy lässt es sich zwar ohne Fehler installieren und starten, aber es macht nichts.

    Code:
    package com.minigps;
    
    import android.app.Activity;
    import android.content.Context;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class miniGPS extends Activity {
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
            LocationListener mlocListener = new MyLocationListener();
            mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
        }
    
        public class MyLocationListener implements LocationListener{
                
            @Override
        
            public void onLocationChanged(Location loc){
                loc.getLatitude();
                loc.getLongitude();
                String Text = "Lat = " + loc.getLatitude() + "|Long = " + loc.getLongitude();
                Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
                final TextView tv = (TextView) findViewById(R.id.text);
                tv.setText(tv.getText()+ "||" + Text);
            }
        
            @Override
        
            public void onProviderDisabled(String provider){
                Toast.makeText( getApplicationContext(),"Gps Disabled", Toast.LENGTH_SHORT ).show();
            }
        
            @Override
        
            public void onProviderEnabled(String provider){
                Toast.makeText( getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show();
            }
        
            @Override
        
            public void onStatusChanged(String provider, int status, Bundle extras){
            }
    
        }
    }
    
    Danke schon mal im Voraus.
     
  2. FelixL, 04.08.2010 #2
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Willkommen im Forum!

    GPS im Gerät eingeschaltet? ;)
     
  3. Elvis, 04.08.2010 #3
    Elvis

    Elvis Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    04.08.2010
    Leider ja *g*

    Ich habe das GPS auch mit anderen Tools getestet um zu sehen, ob Sateliten gefunden wurden, oder ob nur eine Lokalisierung über Mobilfunkzellen gemacht wird.
     
  4. FelixL, 04.08.2010 #4
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Hast du mal getestet ob die onCreate-Methode auch durchlaufen wird? Oder mal im Log nachgesehen was da steht? Und erscheint oben das GPS-Signal?
     
    Zuletzt bearbeitet: 04.08.2010
  5. Elvis, 04.08.2010 #5
    Elvis

    Elvis Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    04.08.2010
    1: ja (habe schnell eine ausgabe an den schluss von oncreate eingefügt)
    2: wie komme ich an den log ran?
    3: ja, das Symbol wird angezeigt und andere Programme (z.B. GPS Status bekommen ein Signal)
     
  6. FelixL, 04.08.2010 #6
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Zu 2:
    Entweder über Logcat oder DDMS

    a) die Windows-Eingabeaufforderung öffnen
    b) mit cd "Verzeichnis" in das Unterverzeichnis tools des SDK wechseln
    In meinem Fall
    cd C:\Users\Felix\Setups\android-sdk_r04-windows\android-sdk-windows\tools
    c) dort entweder adb logcat oder ddms eingeben, ich bevorzuge ddms.
    d) Gerät anschließen, Programm ausführen, Fehler erkennen ;)
    Man kann auch im Code einbauen das dort Sachen ausgegeben werden, so werden dort nur Fehler ausgegeben.
     
  7. Elvis, 04.08.2010 #7
    Elvis

    Elvis Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    04.08.2010
    hmmm, "adb logcat" bricht bei mir mit einem feher ab und "ddms" findet nur den emulator o_O

    aber dafür habe ich raus gefunden, was bei meinem programm nicht geklappt hat.
    "onLocationChanged" macht natürlich ziemlich wenig, wenn das handy ruhig neben dem rechner liegt und nicht bewegt wird o_O


     
  8. FelixL, 04.08.2010 #8
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    :D
    Geht es denn jetzt?

    Wegen der Logcat-Sache: wenn du das Gerät im Eclipse benutzen kannst und da die Apps direkt drauf testen kannst, sollte eigentlich alles Funktionieren :/
     
  9. Elvis, 04.08.2010 #9
    Elvis

    Elvis Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    04.08.2010
    ja, jetzt geht es.
    ich hatte das handy halt neben mir liegen und nicht bewegt, also konnte es ja keine NEUEN koordinaten bekommen.

    es hat also genau so funktioniert, wie es sollte, ich habe es nur nicht kapiert ^^
     
  10. pr0gg3r, 05.08.2010 #10
    pr0gg3r

    pr0gg3r Android-Hilfe.de Mitglied

    Beiträge:
    93
    Erhaltene Danke:
    6
    Registriert seit:
    12.04.2010
    du kannst auf dem handy irgendwo gefakte koordinaten einstellen. ist das selbe menü wo usb-debugging eingestellt wird. dann werden vom handy koordinaten genereiert, solange du keinen richtigen gps-empfang hast. der punkt heißt "falsche koordinaten zulassen" oder so ähnlich
     

Diese Seite empfehlen