Hat der AVD-Manager Probleme mit GPS?

Skad

Mitglied
Hallo,

ich schreibe momentan paar Android-Apps und bisher haben alle funktioniert.
Nun wollte ich eine App schreiben, die GPS-Daten auslesen soll. Nachdem die App nicht gestartet wurde, habe ich Code-Teile ein und auskommentiert und mir ist aufgefallen, dass die App auf Grund der Methoden getLongitude(); und getLatitude(); nicht funktioniert.
Ich habe leider kein Android Telefon, deshalb benutze ich den AVD-Manager in eclipse. In meinem Virtual Device habe ich den GPS support auch aktiviert.

Mir hat vor paar Tagen jemand gesagt, dass der AVD-Manager Probleme mit GPS hat. Irgendwie kann ich mir das aber nicht vorstellen, da man ja "GPS support" aktivieren kann. Trotzdem ist es auffällig, dass die App abbricht, wenn die zwei oben genannten Methoden aufgerufen werden.

Nun wollte ich nochmal nachfragen, ob der AVD-Manager Probleme mit GPS hat?
Oder muss ich irgendwas am Lap-Top einstellen, dass dieser auch GPS handeln kann?

___________________________

Hier mal der relevante Code-Teil, vielleicht habe ich auch etwas übersehen:

Die Deklarationen kommen direkt am Anfang der Activity-Klasse:
Java:
LocationManager locationManager;
Location loc;
double longi = 0.0 ;
double lati = 0.0 ;
String longiText, latiText;

//....
//....

TextView lo = null;
TextView la = null;

Im public void onCreate(Bundle savedInstanceState) Block:
Java:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

//....
//....

locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER,2000,100, locationListener);

Im setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) { Block:
Java:
loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
longi = loc.getLongitude();			
lati = loc.getLatitude(); 

longiText = Double.toString(longi);
latiText = Double.toString(lati);
								
lo.setText(longiText);
la.setText(latiText);

Ich glaube, dass ich nichts übersehen habe und das mein Code bezüglich GPS ist.
Die Listener habe ich auch zugefügt und die virtuellen Methoden überschrieben.
___________________________________

Wenn ich folgenden Code im onClick-Block ersetzte:
Java:
loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
longi = loc.getLongitude();			
lati = loc.getLatitude();

Und statt dessen es dann so aussieht:
Java:
//loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
//longi = loc.getLongitude();			
//lati = loc.getLatitude();

longi = 5.0;
lati = 4.0;

Dann funktioniert die App wieder, deshalb gehe ich davon aus, dass getLongitude(); und getLatitude(); das Problem verursachen. Genau so verhält es sich auch im onLocationChanged Block des LocationListener.
 

schlingel

Gesperrter Benutzer
Du kannst die GPS-Position im Emulator konfigurieren die zurück kommen soll.

Allerdings ist die Frage interessanter welche Exception fliegt. Schau in den Logcat.
 

schlingel

Gesperrter Benutzer
Beim genauen Hinschauen habe ich die Exception glaube ich erraten: eine NullPointerException

Wenn gerade keine Location da ist, bekommst du null anstatt einer Location. Dann funktioniert natürlich auch getLongitude() nicht.
 

Skad

Mitglied
Beim genauen Hinschauen habe ich die Exception glaube ich erraten: eine NullPointerException

Wenn gerade keine Location da ist, bekommst du null anstatt einer Location. Dann funktioniert natürlich auch getLongitude() nicht.

Vor dem getLongitude() Befehl rufe ich den Befehl loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); immer auf.
Wird daurch nicht sicher gestellt, dass eine Location in der loc-Variablen existiert?
 

schlingel

Gesperrter Benutzer
Nope, eben nicht. getLastKnownLocation ist natürlich null, wenn es keine bekannte Location gibt. Steht auch so in der Doku.

Du wirst hier wohl für diesen Fall einen LocationListener registrieren müssen, der sich die letzte Location holt falls es noch keine gibt.
 

Skad

Mitglied
Du kannst die GPS-Position im Emulator konfigurieren die zurück kommen soll.

Allerdings ist die Frage interessanter welche Exception fliegt. Schau in den Logcat.

Hiermit hat es funktioniert, danke :)

So für user, die eventuell auf das gleiche Problem treffen:

Man muss in der cmd-box den Befehl "telnet localhost 5554" ausführen. In Windows 7 ist der Befehl defaultmäßig ausgestellt, deshalb muss man über "Windows Funktionen aktivieren oder deaktivieren" ein richtiges Häckchen setzen. Hier der Link zu einer sehr guten Beschreibung:
How to Enable Telnet in Windows 7


So nun in eclipse den Virtual Device starten.
Cmd-box öffnen (Start -> ind das Textfeld cmd eintippen).
In der cmd-box den Befehl telnet localhost 5554 eingeben. Nun sollte eine Verbindung hergestellt werden.
Wenn die Verbindung existiert kann man über den Befehl "geo fix [x] [y]" dem GPS Default-Werte zuweisen, z.b. "geo fix 20 40".

_________________________________________

Nun bekomme ich 20 und 40 angezeigt, nochmals danke :toll:
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
W IntentService Alarm Manager Android & Cross-Platform Mobile Apps 0
T Android SDK-Manager startet nicht in Eclipse Android & Cross-Platform Mobile Apps 5
K Android Alarm Manager (Wakelock? ) geht nicht Android & Cross-Platform Mobile Apps 4
T Java Mobile SDK 3 - Can't Connect to Device Manager Android & Cross-Platform Mobile Apps 14
J Android Probleme mit BLE-Notify Android & Cross-Platform Mobile Apps 2
J Android Probleme mit der Realm Datenbank Android & Cross-Platform Mobile Apps 3
J Android Probleme mit Navigation-Fragments? Android & Cross-Platform Mobile Apps 0
N Probleme mit custom dynamic ListView Android & Cross-Platform Mobile Apps 15
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
B Android Probleme mit Realm Datenbank Android & Cross-Platform Mobile Apps 2
B Android Probleme mit ArrayList Android & Cross-Platform Mobile Apps 6
J Android Probleme mit FileProvider Android & Cross-Platform Mobile Apps 1
B Probleme mit Firebase Authentication Android & Cross-Platform Mobile Apps 25
H Android Probleme mit SearchView in ArrayAdapter Android & Cross-Platform Mobile Apps 7
ATZENPOWER Android Probleme mit mobilen Daten via lte Android & Cross-Platform Mobile Apps 10
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
B Android Probleme mit RealmObject? Android & Cross-Platform Mobile Apps 1
M Android ExpandableListView merkwürdige Probleme Android & Cross-Platform Mobile Apps 20
F Probleme mit Google-Maps Android & Cross-Platform Mobile Apps 0
B Android Probleme mit ViewPager? Android & Cross-Platform Mobile Apps 5
J Probleme mit ViewPager und Activity Android & Cross-Platform Mobile Apps 1
B Android Probleme mit Eclipse? Android & Cross-Platform Mobile Apps 6
E MAVLINK Probleme Android & Cross-Platform Mobile Apps 1
C Android Probleme mit JavaMail Android & Cross-Platform Mobile Apps 5
B Android Probleme mit Facebook-SDK? Android & Cross-Platform Mobile Apps 1
D Android Probleme mit info/warning (1, 902) Android & Cross-Platform Mobile Apps 4
D Android Gallery Probleme Android & Cross-Platform Mobile Apps 3
B Probleme mit App auf Galaxy S3? Android & Cross-Platform Mobile Apps 13
P Probleme mit xml-Layout Android & Cross-Platform Mobile Apps 2
P Android Probleme mit Spinner Android & Cross-Platform Mobile Apps 3
F Layout mit listViews (Scrolling-Probleme) Android & Cross-Platform Mobile Apps 2
A Android Probleme mit Dialog Android & Cross-Platform Mobile Apps 4
U SQLite-Datenbank Probleme Android & Cross-Platform Mobile Apps 8
T Android Probleme bei Facebook Integration Android & Cross-Platform Mobile Apps 5
tfa Android Layout-Probleme: View programmatisch erweitern (addContentView) Android & Cross-Platform Mobile Apps 7
A Probleme mit ListView / ArrayAdapter Android & Cross-Platform Mobile Apps 3
A Probleme mit Form.isShown Android & Cross-Platform Mobile Apps 9
A Probleme mit Calendar auf dem Handy Android & Cross-Platform Mobile Apps 3
U Probleme mit der drawString Methode bei Canvas Android & Cross-Platform Mobile Apps 8
P Probleme mit dem Deployment Android & Cross-Platform Mobile Apps 3
P Probleme mit Streams Android & Cross-Platform Mobile Apps 4
C 2 kleine Probleme (Datei lesen, String durchsuchen) Android & Cross-Platform Mobile Apps 16
G Proguard Obfuscator macht Probleme Android & Cross-Platform Mobile Apps 2
P Probleme mit RMS Android & Cross-Platform Mobile Apps 5

Ähnliche Java Themen

Neue Themen


Oben