Android Emulator und Location API

mvitz

Top Contributor
Hallo zusammen,

bin zur Zeit an einer Android App am basteln. Soweit auch alles kein Problem. Jetzt muss ich jedoch die Distanz zwischen dem aktuellen Ort und einem anderen Ort berechnen. Um an den aktuellen Ort zu gelangen, nutze ich natürlich die Location API, diese scheint jedoch im Emulator nicht zu laufen, weiß hier jemand Rat?

Activity:
Java:
public class LocationActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ((LocationManager) getSystemService(LOCATION_SERVICE)).requestLocationUpdates(
                LocationManager.GPS_PROVIDER, 0, 0, new MyLocationListener());
    }

    private class MyLocationListener implements LocationListener {
        @Override
        public void onLocationChanged(Location theLocation) {
            Toast.makeText(getBaseContext(), "Location=" + theLocation, Toast.LENGTH_LONG).show();
        }

        @Override
        public void onProviderDisabled(String theProvider) {
        }

        @Override
        public void onProviderEnabled(String theProvider) {
        }

        @Override
        public void onStatusChanged(String theProvider, int theStatus, Bundle theExtras) {
        }
    }

}

[XML]<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="de.test.location"
android:versionCode="1"
android:versionName="1.0">
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity
android:name=".LocationActivity"
android:label="@string/app_name">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk
android:minSdkVersion="9" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest> [/XML]
 
Hi,

also dein Code und Manifest sieht eig. gut aus, sollte funktionieren. Wie genau hast du getestet dass der Code nicht geht? Du musst natürlich die GPS Position ihm vorgaukeln. Im Eclipse Plugin könntest du dafür das DDMS benutzen, ansonsten selbst per telnet verbinden und ein
Code:
geo fix <longitude> <latitude>
senden. Eine andere gute Alternative ist die kleine Java-Anwendung anette.jar (Seite scheint aber offline zu sein atm ;( )
Der Code jedenfalls läuft !
 
Mhm, ich habe jetzt auch beides ausprobiert, klappt beides 🙂



Ich habe allerdings nicht API Level 9 sondern mit einem Android 2.2 Device getestet, probiere das doch vllt. mal.
Und was liefert dir denn telnet zurück wenn du den geo fix sendest? "OK" ?
 
Jap, Telnet sagt: OK

Was mir noch aufgefallen ist:

In Logcat kommt entweder gar nichts, wenn ich die Daten verändere oder aber eine unendlich lange Debugausgabe. Wenn die Debugausgabe kommt, stürzt das OS im Emulator dann meist auch ab.

Lade mir gerade mal die 2.2er API runter und versuche es damit. (Funktioniert die Location API mit Android 2.2 oder brauche ich dafür ein Google API 2.2 Gerät?)
 

Zurück
Oben