<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=79.240.58.118</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=79.240.58.118"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/79.240.58.118"/>
	<updated>2026-05-07T00:32:38Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20005</id>
		<title>Android Location API</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20005"/>
		<updated>2013-10-07T15:17:23Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: /* Links und Quellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links und Quellen ==&lt;br /&gt;
http://www.vogella.com/articles/AndroidLocationAPI/article.html&lt;br /&gt;
&lt;br /&gt;
http://developer.android.com/reference/android/location/package-summary.html&lt;br /&gt;
&lt;br /&gt;
== Position bestimmen ==&lt;br /&gt;
Android kann die Position mit dem GPS Empfänger, über umgebende WLAN Netzwerke (die dann Online mit einer Google Datenbank abgeglichen werden) oder über die aktuelle Handyzelle bestimmen.&lt;br /&gt;
&lt;br /&gt;
Für die Positionsbestimmung stellt Android das Package:&lt;br /&gt;
 android.location&lt;br /&gt;
zur Verfügung. &lt;br /&gt;
&lt;br /&gt;
=== Wichtige Komponenten ===&lt;br /&gt;
==== Location Manager ====&lt;br /&gt;
&amp;#039;&amp;#039;Class LocationManager&amp;#039;&amp;#039; für Zugriff auf Android location service&lt;br /&gt;
====LocationProvider====&lt;br /&gt;
Superclass für die LocationProvider die die Position liefern. Es gibt 3:&lt;br /&gt;
 network //Mobile oder WiFi&lt;br /&gt;
 gps&lt;br /&gt;
 passive // für externe Geräte&lt;br /&gt;
====LocationListener====&lt;br /&gt;
Über den Location Manager kann man einen LocationListener registrieren um regelmäßige Positionsupdates zu bekommen.&lt;br /&gt;
&lt;br /&gt;
Hinweis in Stackoverflow wird über Probleme mit dem onStatusChanged Listener auf diversen Versionen von Android s.u.&lt;br /&gt;
&lt;br /&gt;
==== Criteria Objekt zur Provider Auswahl ====&lt;br /&gt;
Mit einem Criteria Objekt bleibt man flexibel bei der Auswahl des Providers (GPS, Netzwerk...)&lt;br /&gt;
&lt;br /&gt;
Im Criteria Objekt werden Anforderungen zum Beispiel für die Genauigkeit des Ortes gesetzt und diese anschließend bei der Providerauswahl übergeben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Criteria criteria = new Criteria(); // Default Settings können über set Methoden verändert werden&lt;br /&gt;
    provider = locationManager.getBestProvider(criteria, false); // Provider mit Kriterien auswählen false bedeutet auch nicht aktivierte Provider werden berücksichtigt.&lt;br /&gt;
    Location location = locationManager.getLastKnownLocation(provider);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Geocoder ====&lt;br /&gt;
Über die Geocoder Klasse kann man Positionsdaten zu Adressdaten und umgekehrt ermitteln (Google Service)&lt;br /&gt;
==== Notwendige Rechte / Permissions ====&lt;br /&gt;
ACCESS_FINE_LOCATION permission für GPS, ansonsten ACCESS_COARSE_LOCATION permission&lt;br /&gt;
=== Beispiel 1 - locationapi.simple ===&lt;br /&gt;
[[Android Location API - Simple Location]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Location Snippets ===&lt;br /&gt;
==== User zum aktivieren von GPS auffordern ====&lt;br /&gt;
Hinweis: Es ist nicht möglich GPS nur über den Code zu starten. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);&lt;br /&gt;
boolean enabled = service&lt;br /&gt;
  .isProviderEnabled(LocationManager.GPS_PROVIDER);&lt;br /&gt;
&lt;br /&gt;
// Check if enabled and if not send user to the GSP settings&lt;br /&gt;
// Better solution would be to display a dialog (AlarmDialog) and suggesting to &lt;br /&gt;
// go to the settings&lt;br /&gt;
if (!enabled) {&lt;br /&gt;
  Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);&lt;br /&gt;
  startActivity(intent);&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Simulation auf dem Simulator ===&lt;br /&gt;
Auf dem Emulierten Device GoogleMaps aktivieren falls das aktivieren des GPS Simulators nicht klappt (Bugs). Man kann die DDMS Perspective von Eclipse nehmen um Geopositionen zu senden.&lt;br /&gt;
&lt;br /&gt;
 Window &amp;gt; Open Perspective &amp;gt; Other &amp;gt; DDMS&lt;br /&gt;
&lt;br /&gt;
Über das Terinal und Telnet kann man auch Positionen schicken&lt;br /&gt;
 telnet localhost 5554&lt;br /&gt;
 geo fix 13.12 49.23&lt;br /&gt;
&lt;br /&gt;
=== Probleme bei der Positionsabfrage umgehen ===&lt;br /&gt;
Quelle: http://stackoverflow.com/questions/2021176/how-can-i-check-the-current-status-of-the-gps-receiver&lt;br /&gt;
&lt;br /&gt;
onStatusChanged() doesn&amp;#039;t get called on Eclair and Froyo. It does get called on 1.6 though.&lt;br /&gt;
Simply counting all available satellites is, of course, useless.&lt;br /&gt;
Checking if any of the satellites returns true for usedInFix() isn&amp;#039;t very helpful also. The system apparently loses the fix but still continue to report that there are several sats that are used in it.&lt;br /&gt;
So, the only working solution we have, and the one we actually use in our application, is the following. Let&amp;#039;s say we have this simple class that implements the GpsStatus.Listener:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
private class MyGPSListener implements GpsStatus.Listener {&lt;br /&gt;
    public void onGpsStatusChanged(int event) {&lt;br /&gt;
        switch (event) {&lt;br /&gt;
            case GpsStatus.GPS_EVENT_SATELLITE_STATUS:&lt;br /&gt;
                if (mLastLocation != null)&lt;br /&gt;
                    isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) &amp;lt; 3000;&lt;br /&gt;
&lt;br /&gt;
                if (isGPSFix) { // A fix has been acquired.&lt;br /&gt;
                    // Do something.&lt;br /&gt;
                } else { // The fix has been lost.&lt;br /&gt;
                    // Do something.&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                break;&lt;br /&gt;
            case GpsStatus.GPS_EVENT_FIRST_FIX:&lt;br /&gt;
                // Do something.&lt;br /&gt;
                isGPSFix = true;&lt;br /&gt;
&lt;br /&gt;
                break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
OK, now in onLocationChanged() you should add the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@Override&lt;br /&gt;
public void onLocationChanged(Location location) {&lt;br /&gt;
    if (location == null) return;&lt;br /&gt;
&lt;br /&gt;
    mLastLocationMillis = SystemClock.elapsedRealtime();&lt;br /&gt;
&lt;br /&gt;
    // Do something.&lt;br /&gt;
&lt;br /&gt;
    mLastLocation = location;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And that&amp;#039;s it. Basically, this is the line that does it all:&lt;br /&gt;
&lt;br /&gt;
 isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) &amp;lt; 3000;&lt;br /&gt;
&lt;br /&gt;
You can tweak the milliseconds value of course, but I would suggest to set it around 3-5 seconds.&lt;br /&gt;
&lt;br /&gt;
This actually works and though I haven&amp;#039;t seen the source code that implements the standard GPS icon, this comes close to replicating its behavior. It could even outdo it lol. Hope this helps someone.&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API_-_Simple_Location&amp;diff=20004</id>
		<title>Android Location API - Simple Location</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API_-_Simple_Location&amp;diff=20004"/>
		<updated>2013-10-07T15:16:31Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: /* Layout */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
== Projekt ==&lt;br /&gt;
1. Android Projekt erstellen Name: Simple Location&lt;br /&gt;
== Permissions ==&lt;br /&gt;
Zum manifest.xml hinzufügen:&lt;br /&gt;
* INTERNET&lt;br /&gt;
* ACCESS_FINE_LOCATION&lt;br /&gt;
* ACCESS_COARSE_LOCATION&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_COARSE_LOCATION&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;vertical&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;LinearLayout&lt;br /&gt;
        android:id=&amp;quot;@+id/linearLayout1&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_marginTop=&amp;quot;40dip&amp;quot;&lt;br /&gt;
        android:orientation=&amp;quot;horizontal&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView01&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_marginLeft=&amp;quot;10dip&amp;quot;&lt;br /&gt;
            android:layout_marginRight=&amp;quot;5dip&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;Latitude: &amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView02&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;unknown&amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
    &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;LinearLayout&lt;br /&gt;
        android:id=&amp;quot;@+id/linearLayout2&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView03&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_marginLeft=&amp;quot;10dip&amp;quot;&lt;br /&gt;
            android:layout_marginRight=&amp;quot;5dip&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;Longitute: &amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView04&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;unknown&amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
    &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ShowLocation Activity programmieren ==&lt;br /&gt;
1. Einen LocationListener implementieren&lt;br /&gt;
 import android.location.LocationListener;&lt;br /&gt;
 ...&lt;br /&gt;
 public class ShowLocationActivity extends Activity&amp;#039;&amp;#039;&amp;#039; implements LocationListener&amp;#039;&amp;#039;&amp;#039;  {&lt;br /&gt;
 ...&lt;br /&gt;
Eclipse zeigt daß wir für das Interface diverse Funktionen brauchen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onLocationChanged(Location arg0) {&lt;br /&gt;
		// TODO Auto-generated method stub&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onProviderDisabled(String arg0) {&lt;br /&gt;
		// TODO Auto-generated method stub&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onProviderEnabled(String arg0) {&lt;br /&gt;
		// TODO Auto-generated method stub&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onStatusChanged(String arg0, int arg1, Bundle arg2) {&lt;br /&gt;
		// TODO Auto-generated method stub&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann verdrahten wir die Textfelder des Layouts mit dem Code...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public class ShowLocationActivity extends Activity implements LocationListener{&lt;br /&gt;
	private TextView latitudeField;&lt;br /&gt;
	private TextView longitudeField;&lt;br /&gt;
	private LocationManager locationManager;&lt;br /&gt;
	private String provider;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
	// activity is created...&lt;br /&gt;
	@Override&lt;br /&gt;
	protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.activity_show_location);&lt;br /&gt;
		latitudeField = (TextView) findViewById(R.id.TextView02);&lt;br /&gt;
		longitudeField = (TextView) findViewById(R.id.TextView04);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bei den Textviews haben wir auch schon einen LocationManager definiert und einen String, der den gewählten Provider speichern wird (gps oder network). Auch dieser wird in onCreate instanziiert:&lt;br /&gt;
&lt;br /&gt;
LocationManager Service holen&lt;br /&gt;
 locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);&lt;br /&gt;
Ein Criteria Objekt erstellen daß unsere Bedingungen an den Service enthält. Da wir nichts setzen sind es hier Standardbedingungen.&lt;br /&gt;
 Criteria criteria = new Criteria();&lt;br /&gt;
Wir Fragen den Location Manager welches der beste Provider für unsere Kriterien sind (false -&amp;gt; auch wenn diese abgeschaltet sind).&lt;br /&gt;
 provider = locationManager.getBestProvider(criteria, false);&lt;br /&gt;
Welches war die letzte bekannte Position ? Diese wir in ein Location Objekt gespeichert.&lt;br /&gt;
 Location location = locationManager.getLastKnownLocation(provider);&lt;br /&gt;
Wenn wir was haben schreiben wir es in die Textfelder.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if(location != null){&lt;br /&gt;
	System.out.println(&amp;quot;Provider &amp;quot; + provider + &amp;quot;has been selected.&amp;quot;);&lt;br /&gt;
	onLocationChanged(location);&lt;br /&gt;
}else{&lt;br /&gt;
	tvLatitude.setText(&amp;quot;Location is not available&amp;quot;);&lt;br /&gt;
	tvLongitude.setText(&amp;quot;Location is not available&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn die Activity startet (oder resumed wird) soll der LocationManager regelmäßig Updates über den gewählten provider liefern. Es sollen aber mindestens 600ms und 10m zwischen den Updates liegen. Damit wir dann auch etwas übernehmen können wird im letzten Parameter ein locationManager übergeben dessen onLocationChanged Methode aufgerufen werden soll. In diesem Fall übergeben wir ihn sich selbst.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/* Request updates at startup */&lt;br /&gt;
	@Override&lt;br /&gt;
	protected void onResume() {&lt;br /&gt;
	  super.onResume();&lt;br /&gt;
	  locationManager.requestLocationUpdates(provider, 600, 10, this);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn die Activity pausiert sollen auch die Updates pausieren&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/* locationlistener updates stoppen wenn Activity pausiert sonst gibt es Fehler im Log */&lt;br /&gt;
	@Override&lt;br /&gt;
	protected void onPause() {&lt;br /&gt;
		super.onPause();&lt;br /&gt;
		locationManager.removeUpdates(this);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20003</id>
		<title>Android Location API</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20003"/>
		<updated>2013-10-07T14:45:09Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: /* Criteria Objekt zur Provider Auswahl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links und Quellen ==&lt;br /&gt;
http://www.vogella.com/articles/AndroidLocationAPI/article.html&lt;br /&gt;
&lt;br /&gt;
== Position bestimmen ==&lt;br /&gt;
Android kann die Position mit dem GPS Empfänger, über umgebende WLAN Netzwerke (die dann Online mit einer Google Datenbank abgeglichen werden) oder über die aktuelle Handyzelle bestimmen.&lt;br /&gt;
&lt;br /&gt;
Für die Positionsbestimmung stellt Android das Package:&lt;br /&gt;
 android.location&lt;br /&gt;
zur Verfügung. &lt;br /&gt;
&lt;br /&gt;
=== Wichtige Komponenten ===&lt;br /&gt;
==== Location Manager ====&lt;br /&gt;
&amp;#039;&amp;#039;Class LocationManager&amp;#039;&amp;#039; für Zugriff auf Android location service&lt;br /&gt;
====LocationProvider====&lt;br /&gt;
Superclass für die LocationProvider die die Position liefern. Es gibt 3:&lt;br /&gt;
 network //Mobile oder WiFi&lt;br /&gt;
 gps&lt;br /&gt;
 passive // für externe Geräte&lt;br /&gt;
====LocationListener====&lt;br /&gt;
Über den Location Manager kann man einen LocationListener registrieren um regelmäßige Positionsupdates zu bekommen.&lt;br /&gt;
&lt;br /&gt;
Hinweis in Stackoverflow wird über Probleme mit dem onStatusChanged Listener auf diversen Versionen von Android s.u.&lt;br /&gt;
&lt;br /&gt;
==== Criteria Objekt zur Provider Auswahl ====&lt;br /&gt;
Mit einem Criteria Objekt bleibt man flexibel bei der Auswahl des Providers (GPS, Netzwerk...)&lt;br /&gt;
&lt;br /&gt;
Im Criteria Objekt werden Anforderungen zum Beispiel für die Genauigkeit des Ortes gesetzt und diese anschließend bei der Providerauswahl übergeben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Criteria criteria = new Criteria(); // Default Settings können über set Methoden verändert werden&lt;br /&gt;
    provider = locationManager.getBestProvider(criteria, false); // Provider mit Kriterien auswählen false bedeutet auch nicht aktivierte Provider werden berücksichtigt.&lt;br /&gt;
    Location location = locationManager.getLastKnownLocation(provider);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Geocoder ====&lt;br /&gt;
Über die Geocoder Klasse kann man Positionsdaten zu Adressdaten und umgekehrt ermitteln (Google Service)&lt;br /&gt;
==== Notwendige Rechte / Permissions ====&lt;br /&gt;
ACCESS_FINE_LOCATION permission für GPS, ansonsten ACCESS_COARSE_LOCATION permission&lt;br /&gt;
=== Beispiel 1 - locationapi.simple ===&lt;br /&gt;
[[Android Location API - Simple Location]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Location Snippets ===&lt;br /&gt;
==== User zum aktivieren von GPS auffordern ====&lt;br /&gt;
Hinweis: Es ist nicht möglich GPS nur über den Code zu starten. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);&lt;br /&gt;
boolean enabled = service&lt;br /&gt;
  .isProviderEnabled(LocationManager.GPS_PROVIDER);&lt;br /&gt;
&lt;br /&gt;
// Check if enabled and if not send user to the GSP settings&lt;br /&gt;
// Better solution would be to display a dialog (AlarmDialog) and suggesting to &lt;br /&gt;
// go to the settings&lt;br /&gt;
if (!enabled) {&lt;br /&gt;
  Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);&lt;br /&gt;
  startActivity(intent);&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Simulation auf dem Simulator ===&lt;br /&gt;
Auf dem Emulierten Device GoogleMaps aktivieren falls das aktivieren des GPS Simulators nicht klappt (Bugs). Man kann die DDMS Perspective von Eclipse nehmen um Geopositionen zu senden.&lt;br /&gt;
&lt;br /&gt;
 Window &amp;gt; Open Perspective &amp;gt; Other &amp;gt; DDMS&lt;br /&gt;
&lt;br /&gt;
Über das Terinal und Telnet kann man auch Positionen schicken&lt;br /&gt;
 telnet localhost 5554&lt;br /&gt;
 geo fix 13.12 49.23&lt;br /&gt;
&lt;br /&gt;
=== Probleme bei der Positionsabfrage umgehen ===&lt;br /&gt;
Quelle: http://stackoverflow.com/questions/2021176/how-can-i-check-the-current-status-of-the-gps-receiver&lt;br /&gt;
&lt;br /&gt;
onStatusChanged() doesn&amp;#039;t get called on Eclair and Froyo. It does get called on 1.6 though.&lt;br /&gt;
Simply counting all available satellites is, of course, useless.&lt;br /&gt;
Checking if any of the satellites returns true for usedInFix() isn&amp;#039;t very helpful also. The system apparently loses the fix but still continue to report that there are several sats that are used in it.&lt;br /&gt;
So, the only working solution we have, and the one we actually use in our application, is the following. Let&amp;#039;s say we have this simple class that implements the GpsStatus.Listener:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
private class MyGPSListener implements GpsStatus.Listener {&lt;br /&gt;
    public void onGpsStatusChanged(int event) {&lt;br /&gt;
        switch (event) {&lt;br /&gt;
            case GpsStatus.GPS_EVENT_SATELLITE_STATUS:&lt;br /&gt;
                if (mLastLocation != null)&lt;br /&gt;
                    isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) &amp;lt; 3000;&lt;br /&gt;
&lt;br /&gt;
                if (isGPSFix) { // A fix has been acquired.&lt;br /&gt;
                    // Do something.&lt;br /&gt;
                } else { // The fix has been lost.&lt;br /&gt;
                    // Do something.&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                break;&lt;br /&gt;
            case GpsStatus.GPS_EVENT_FIRST_FIX:&lt;br /&gt;
                // Do something.&lt;br /&gt;
                isGPSFix = true;&lt;br /&gt;
&lt;br /&gt;
                break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
OK, now in onLocationChanged() you should add the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@Override&lt;br /&gt;
public void onLocationChanged(Location location) {&lt;br /&gt;
    if (location == null) return;&lt;br /&gt;
&lt;br /&gt;
    mLastLocationMillis = SystemClock.elapsedRealtime();&lt;br /&gt;
&lt;br /&gt;
    // Do something.&lt;br /&gt;
&lt;br /&gt;
    mLastLocation = location;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And that&amp;#039;s it. Basically, this is the line that does it all:&lt;br /&gt;
&lt;br /&gt;
 isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) &amp;lt; 3000;&lt;br /&gt;
&lt;br /&gt;
You can tweak the milliseconds value of course, but I would suggest to set it around 3-5 seconds.&lt;br /&gt;
&lt;br /&gt;
This actually works and though I haven&amp;#039;t seen the source code that implements the standard GPS icon, this comes close to replicating its behavior. It could even outdo it lol. Hope this helps someone.&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20002</id>
		<title>Android Location API</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20002"/>
		<updated>2013-10-07T14:32:59Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: /* LocationListener */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links und Quellen ==&lt;br /&gt;
http://www.vogella.com/articles/AndroidLocationAPI/article.html&lt;br /&gt;
&lt;br /&gt;
== Position bestimmen ==&lt;br /&gt;
Android kann die Position mit dem GPS Empfänger, über umgebende WLAN Netzwerke (die dann Online mit einer Google Datenbank abgeglichen werden) oder über die aktuelle Handyzelle bestimmen.&lt;br /&gt;
&lt;br /&gt;
Für die Positionsbestimmung stellt Android das Package:&lt;br /&gt;
 android.location&lt;br /&gt;
zur Verfügung. &lt;br /&gt;
&lt;br /&gt;
=== Wichtige Komponenten ===&lt;br /&gt;
==== Location Manager ====&lt;br /&gt;
&amp;#039;&amp;#039;Class LocationManager&amp;#039;&amp;#039; für Zugriff auf Android location service&lt;br /&gt;
====LocationProvider====&lt;br /&gt;
Superclass für die LocationProvider die die Position liefern. Es gibt 3:&lt;br /&gt;
 network //Mobile oder WiFi&lt;br /&gt;
 gps&lt;br /&gt;
 passive // für externe Geräte&lt;br /&gt;
====LocationListener====&lt;br /&gt;
Über den Location Manager kann man einen LocationListener registrieren um regelmäßige Positionsupdates zu bekommen.&lt;br /&gt;
&lt;br /&gt;
Hinweis in Stackoverflow wird über Probleme mit dem onStatusChanged Listener auf diversen Versionen von Android s.u.&lt;br /&gt;
&lt;br /&gt;
==== Criteria Objekt zur Provider Auswahl ====&lt;br /&gt;
Mit einem Criteria Objekt bleibt man flexibel bei der Auswahl des Providers (GPS, Netzwerk...)&lt;br /&gt;
&lt;br /&gt;
==== Geocoder ====&lt;br /&gt;
Über die Geocoder Klasse kann man Positionsdaten zu Adressdaten und umgekehrt ermitteln (Google Service)&lt;br /&gt;
==== Notwendige Rechte / Permissions ====&lt;br /&gt;
ACCESS_FINE_LOCATION permission für GPS, ansonsten ACCESS_COARSE_LOCATION permission&lt;br /&gt;
=== Beispiel 1 - locationapi.simple ===&lt;br /&gt;
[[Android Location API - Simple Location]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Location Snippets ===&lt;br /&gt;
==== User zum aktivieren von GPS auffordern ====&lt;br /&gt;
Hinweis: Es ist nicht möglich GPS nur über den Code zu starten. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);&lt;br /&gt;
boolean enabled = service&lt;br /&gt;
  .isProviderEnabled(LocationManager.GPS_PROVIDER);&lt;br /&gt;
&lt;br /&gt;
// Check if enabled and if not send user to the GSP settings&lt;br /&gt;
// Better solution would be to display a dialog (AlarmDialog) and suggesting to &lt;br /&gt;
// go to the settings&lt;br /&gt;
if (!enabled) {&lt;br /&gt;
  Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);&lt;br /&gt;
  startActivity(intent);&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Simulation auf dem Simulator ===&lt;br /&gt;
Auf dem Emulierten Device GoogleMaps aktivieren falls das aktivieren des GPS Simulators nicht klappt (Bugs). Man kann die DDMS Perspective von Eclipse nehmen um Geopositionen zu senden.&lt;br /&gt;
&lt;br /&gt;
 Window &amp;gt; Open Perspective &amp;gt; Other &amp;gt; DDMS&lt;br /&gt;
&lt;br /&gt;
Über das Terinal und Telnet kann man auch Positionen schicken&lt;br /&gt;
 telnet localhost 5554&lt;br /&gt;
 geo fix 13.12 49.23&lt;br /&gt;
&lt;br /&gt;
=== Probleme bei der Positionsabfrage umgehen ===&lt;br /&gt;
Quelle: http://stackoverflow.com/questions/2021176/how-can-i-check-the-current-status-of-the-gps-receiver&lt;br /&gt;
&lt;br /&gt;
onStatusChanged() doesn&amp;#039;t get called on Eclair and Froyo. It does get called on 1.6 though.&lt;br /&gt;
Simply counting all available satellites is, of course, useless.&lt;br /&gt;
Checking if any of the satellites returns true for usedInFix() isn&amp;#039;t very helpful also. The system apparently loses the fix but still continue to report that there are several sats that are used in it.&lt;br /&gt;
So, the only working solution we have, and the one we actually use in our application, is the following. Let&amp;#039;s say we have this simple class that implements the GpsStatus.Listener:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
private class MyGPSListener implements GpsStatus.Listener {&lt;br /&gt;
    public void onGpsStatusChanged(int event) {&lt;br /&gt;
        switch (event) {&lt;br /&gt;
            case GpsStatus.GPS_EVENT_SATELLITE_STATUS:&lt;br /&gt;
                if (mLastLocation != null)&lt;br /&gt;
                    isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) &amp;lt; 3000;&lt;br /&gt;
&lt;br /&gt;
                if (isGPSFix) { // A fix has been acquired.&lt;br /&gt;
                    // Do something.&lt;br /&gt;
                } else { // The fix has been lost.&lt;br /&gt;
                    // Do something.&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                break;&lt;br /&gt;
            case GpsStatus.GPS_EVENT_FIRST_FIX:&lt;br /&gt;
                // Do something.&lt;br /&gt;
                isGPSFix = true;&lt;br /&gt;
&lt;br /&gt;
                break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
OK, now in onLocationChanged() you should add the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@Override&lt;br /&gt;
public void onLocationChanged(Location location) {&lt;br /&gt;
    if (location == null) return;&lt;br /&gt;
&lt;br /&gt;
    mLastLocationMillis = SystemClock.elapsedRealtime();&lt;br /&gt;
&lt;br /&gt;
    // Do something.&lt;br /&gt;
&lt;br /&gt;
    mLastLocation = location;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And that&amp;#039;s it. Basically, this is the line that does it all:&lt;br /&gt;
&lt;br /&gt;
 isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) &amp;lt; 3000;&lt;br /&gt;
&lt;br /&gt;
You can tweak the milliseconds value of course, but I would suggest to set it around 3-5 seconds.&lt;br /&gt;
&lt;br /&gt;
This actually works and though I haven&amp;#039;t seen the source code that implements the standard GPS icon, this comes close to replicating its behavior. It could even outdo it lol. Hope this helps someone.&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20001</id>
		<title>Android Location API</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20001"/>
		<updated>2013-10-07T14:13:32Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: /* Simulation auf dem Simulator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links und Quellen ==&lt;br /&gt;
http://www.vogella.com/articles/AndroidLocationAPI/article.html&lt;br /&gt;
&lt;br /&gt;
== Position bestimmen ==&lt;br /&gt;
Android kann die Position mit dem GPS Empfänger, über umgebende WLAN Netzwerke (die dann Online mit einer Google Datenbank abgeglichen werden) oder über die aktuelle Handyzelle bestimmen.&lt;br /&gt;
&lt;br /&gt;
Für die Positionsbestimmung stellt Android das Package:&lt;br /&gt;
 android.location&lt;br /&gt;
zur Verfügung. &lt;br /&gt;
&lt;br /&gt;
=== Wichtige Komponenten ===&lt;br /&gt;
==== Location Manager ====&lt;br /&gt;
&amp;#039;&amp;#039;Class LocationManager&amp;#039;&amp;#039; für Zugriff auf Android location service&lt;br /&gt;
====LocationProvider====&lt;br /&gt;
Superclass für die LocationProvider die die Position liefern. Es gibt 3:&lt;br /&gt;
 network //Mobile oder WiFi&lt;br /&gt;
 gps&lt;br /&gt;
 passive // für externe Geräte&lt;br /&gt;
====LocationListener====&lt;br /&gt;
Über den Location Manager kann man einen LocationListener registrieren um regelmäßige Positionsupdates zu bekommen.&lt;br /&gt;
&lt;br /&gt;
Hinweis in Stackoverflow wird über Probleme mit dem onStatusChanged Listener auf diversen Versionen von Android s.u.&lt;br /&gt;
&lt;br /&gt;
==== Geocoder ====&lt;br /&gt;
Über die Geocoder Klasse kann man Positionsdaten zu Adressdaten und umgekehrt ermitteln (Google Service)&lt;br /&gt;
==== Notwendige Rechte / Permissions ====&lt;br /&gt;
ACCESS_FINE_LOCATION permission für GPS, ansonsten ACCESS_COARSE_LOCATION permission&lt;br /&gt;
=== Beispiel 1 - locationapi.simple ===&lt;br /&gt;
[[Android Location API - Simple Location]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Location Snippets ===&lt;br /&gt;
==== User zum aktivieren von GPS auffordern ====&lt;br /&gt;
Hinweis: Es ist nicht möglich GPS nur über den Code zu starten. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);&lt;br /&gt;
boolean enabled = service&lt;br /&gt;
  .isProviderEnabled(LocationManager.GPS_PROVIDER);&lt;br /&gt;
&lt;br /&gt;
// Check if enabled and if not send user to the GSP settings&lt;br /&gt;
// Better solution would be to display a dialog (AlarmDialog) and suggesting to &lt;br /&gt;
// go to the settings&lt;br /&gt;
if (!enabled) {&lt;br /&gt;
  Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);&lt;br /&gt;
  startActivity(intent);&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Simulation auf dem Simulator ===&lt;br /&gt;
Auf dem Emulierten Device GoogleMaps aktivieren falls das aktivieren des GPS Simulators nicht klappt (Bugs). Man kann die DDMS Perspective von Eclipse nehmen um Geopositionen zu senden.&lt;br /&gt;
&lt;br /&gt;
 Window &amp;gt; Open Perspective &amp;gt; Other &amp;gt; DDMS&lt;br /&gt;
&lt;br /&gt;
Über das Terinal und Telnet kann man auch Positionen schicken&lt;br /&gt;
 telnet localhost 5554&lt;br /&gt;
 geo fix 13.12 49.23&lt;br /&gt;
&lt;br /&gt;
=== Probleme bei der Positionsabfrage umgehen ===&lt;br /&gt;
Quelle: http://stackoverflow.com/questions/2021176/how-can-i-check-the-current-status-of-the-gps-receiver&lt;br /&gt;
&lt;br /&gt;
onStatusChanged() doesn&amp;#039;t get called on Eclair and Froyo. It does get called on 1.6 though.&lt;br /&gt;
Simply counting all available satellites is, of course, useless.&lt;br /&gt;
Checking if any of the satellites returns true for usedInFix() isn&amp;#039;t very helpful also. The system apparently loses the fix but still continue to report that there are several sats that are used in it.&lt;br /&gt;
So, the only working solution we have, and the one we actually use in our application, is the following. Let&amp;#039;s say we have this simple class that implements the GpsStatus.Listener:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
private class MyGPSListener implements GpsStatus.Listener {&lt;br /&gt;
    public void onGpsStatusChanged(int event) {&lt;br /&gt;
        switch (event) {&lt;br /&gt;
            case GpsStatus.GPS_EVENT_SATELLITE_STATUS:&lt;br /&gt;
                if (mLastLocation != null)&lt;br /&gt;
                    isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) &amp;lt; 3000;&lt;br /&gt;
&lt;br /&gt;
                if (isGPSFix) { // A fix has been acquired.&lt;br /&gt;
                    // Do something.&lt;br /&gt;
                } else { // The fix has been lost.&lt;br /&gt;
                    // Do something.&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                break;&lt;br /&gt;
            case GpsStatus.GPS_EVENT_FIRST_FIX:&lt;br /&gt;
                // Do something.&lt;br /&gt;
                isGPSFix = true;&lt;br /&gt;
&lt;br /&gt;
                break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
OK, now in onLocationChanged() you should add the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@Override&lt;br /&gt;
public void onLocationChanged(Location location) {&lt;br /&gt;
    if (location == null) return;&lt;br /&gt;
&lt;br /&gt;
    mLastLocationMillis = SystemClock.elapsedRealtime();&lt;br /&gt;
&lt;br /&gt;
    // Do something.&lt;br /&gt;
&lt;br /&gt;
    mLastLocation = location;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And that&amp;#039;s it. Basically, this is the line that does it all:&lt;br /&gt;
&lt;br /&gt;
 isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) &amp;lt; 3000;&lt;br /&gt;
&lt;br /&gt;
You can tweak the milliseconds value of course, but I would suggest to set it around 3-5 seconds.&lt;br /&gt;
&lt;br /&gt;
This actually works and though I haven&amp;#039;t seen the source code that implements the standard GPS icon, this comes close to replicating its behavior. It could even outdo it lol. Hope this helps someone.&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20000</id>
		<title>Android Location API</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=20000"/>
		<updated>2013-10-07T14:11:23Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: /* LocationListener */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links und Quellen ==&lt;br /&gt;
http://www.vogella.com/articles/AndroidLocationAPI/article.html&lt;br /&gt;
&lt;br /&gt;
== Position bestimmen ==&lt;br /&gt;
Android kann die Position mit dem GPS Empfänger, über umgebende WLAN Netzwerke (die dann Online mit einer Google Datenbank abgeglichen werden) oder über die aktuelle Handyzelle bestimmen.&lt;br /&gt;
&lt;br /&gt;
Für die Positionsbestimmung stellt Android das Package:&lt;br /&gt;
 android.location&lt;br /&gt;
zur Verfügung. &lt;br /&gt;
&lt;br /&gt;
=== Wichtige Komponenten ===&lt;br /&gt;
==== Location Manager ====&lt;br /&gt;
&amp;#039;&amp;#039;Class LocationManager&amp;#039;&amp;#039; für Zugriff auf Android location service&lt;br /&gt;
====LocationProvider====&lt;br /&gt;
Superclass für die LocationProvider die die Position liefern. Es gibt 3:&lt;br /&gt;
 network //Mobile oder WiFi&lt;br /&gt;
 gps&lt;br /&gt;
 passive // für externe Geräte&lt;br /&gt;
====LocationListener====&lt;br /&gt;
Über den Location Manager kann man einen LocationListener registrieren um regelmäßige Positionsupdates zu bekommen.&lt;br /&gt;
&lt;br /&gt;
Hinweis in Stackoverflow wird über Probleme mit dem onStatusChanged Listener auf diversen Versionen von Android s.u.&lt;br /&gt;
&lt;br /&gt;
==== Geocoder ====&lt;br /&gt;
Über die Geocoder Klasse kann man Positionsdaten zu Adressdaten und umgekehrt ermitteln (Google Service)&lt;br /&gt;
==== Notwendige Rechte / Permissions ====&lt;br /&gt;
ACCESS_FINE_LOCATION permission für GPS, ansonsten ACCESS_COARSE_LOCATION permission&lt;br /&gt;
=== Beispiel 1 - locationapi.simple ===&lt;br /&gt;
[[Android Location API - Simple Location]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Location Snippets ===&lt;br /&gt;
==== User zum aktivieren von GPS auffordern ====&lt;br /&gt;
Hinweis: Es ist nicht möglich GPS nur über den Code zu starten. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);&lt;br /&gt;
boolean enabled = service&lt;br /&gt;
  .isProviderEnabled(LocationManager.GPS_PROVIDER);&lt;br /&gt;
&lt;br /&gt;
// Check if enabled and if not send user to the GSP settings&lt;br /&gt;
// Better solution would be to display a dialog (AlarmDialog) and suggesting to &lt;br /&gt;
// go to the settings&lt;br /&gt;
if (!enabled) {&lt;br /&gt;
  Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);&lt;br /&gt;
  startActivity(intent);&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Simulation auf dem Simulator ===&lt;br /&gt;
Auf dem Emulierten Device GoogleMaps aktivieren falls das aktivieren des GPS Simulators nicht klappt (Bugs). Man kann die DDMS Perspective von Eclipse nehmen um Geopositionen zu senden.&lt;br /&gt;
&lt;br /&gt;
 Window &amp;gt; Open Perspective &amp;gt; Other &amp;gt; DDMS&lt;br /&gt;
&lt;br /&gt;
Über das Terinal und Telnet kann man auch Positionen schicken&lt;br /&gt;
 telnet localhost 5554&lt;br /&gt;
 geo fix 13.12 49.23&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API_-_Simple_Location&amp;diff=19999</id>
		<title>Android Location API - Simple Location</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API_-_Simple_Location&amp;diff=19999"/>
		<updated>2013-10-07T13:57:29Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: /* Permissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
== Projekt ==&lt;br /&gt;
1. Android Projekt erstellen Name: Simple Location&lt;br /&gt;
== Permissions ==&lt;br /&gt;
Zum manifest.xml hinzufügen:&lt;br /&gt;
* INTERNET&lt;br /&gt;
* ACCESS_FINE_LOCATION&lt;br /&gt;
* ACCESS_COARSE_LOCATION&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_COARSE_LOCATION&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;vertical&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;LinearLayout&lt;br /&gt;
        android:id=&amp;quot;@+id/linearLayout1&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_marginTop=&amp;quot;40dip&amp;quot;&lt;br /&gt;
        android:orientation=&amp;quot;horizontal&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView01&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_marginLeft=&amp;quot;10dip&amp;quot;&lt;br /&gt;
            android:layout_marginRight=&amp;quot;5dip&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;Latitude: &amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView02&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;unknown&amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
    &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;LinearLayout&lt;br /&gt;
        android:id=&amp;quot;@+id/linearLayout2&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView03&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_marginLeft=&amp;quot;10dip&amp;quot;&lt;br /&gt;
            android:layout_marginRight=&amp;quot;5dip&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;Longitute: &amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView04&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;unknown&amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
    &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API_-_Simple_Location&amp;diff=19998</id>
		<title>Android Location API - Simple Location</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API_-_Simple_Location&amp;diff=19998"/>
		<updated>2013-10-07T13:53:09Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: /* Projekt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
== Projekt ==&lt;br /&gt;
1. Android Projekt erstellen Name: Simple Location&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* INTERNET&lt;br /&gt;
* ACCESS_FINE_LOCATION&lt;br /&gt;
* ACCESS_COARSE_LOCATION&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;vertical&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;LinearLayout&lt;br /&gt;
        android:id=&amp;quot;@+id/linearLayout1&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_marginTop=&amp;quot;40dip&amp;quot;&lt;br /&gt;
        android:orientation=&amp;quot;horizontal&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView01&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_marginLeft=&amp;quot;10dip&amp;quot;&lt;br /&gt;
            android:layout_marginRight=&amp;quot;5dip&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;Latitude: &amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView02&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;unknown&amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
    &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;LinearLayout&lt;br /&gt;
        android:id=&amp;quot;@+id/linearLayout2&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView03&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_marginLeft=&amp;quot;10dip&amp;quot;&lt;br /&gt;
            android:layout_marginRight=&amp;quot;5dip&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;Longitute: &amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView04&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;unknown&amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
    &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API_-_Simple_Location&amp;diff=19997</id>
		<title>Android Location API - Simple Location</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API_-_Simple_Location&amp;diff=19997"/>
		<updated>2013-10-07T13:52:26Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: Die Seite wurde neu angelegt: „== Einleitung ==  == Projekt == 1. Android Projekt erstellen Name: Simple Location  == Layout == &amp;lt;pre&amp;gt; &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt; &amp;lt;LinearLayout xmlns:…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
== Projekt ==&lt;br /&gt;
1. Android Projekt erstellen Name: Simple Location&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;vertical&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;LinearLayout&lt;br /&gt;
        android:id=&amp;quot;@+id/linearLayout1&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_marginTop=&amp;quot;40dip&amp;quot;&lt;br /&gt;
        android:orientation=&amp;quot;horizontal&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView01&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_marginLeft=&amp;quot;10dip&amp;quot;&lt;br /&gt;
            android:layout_marginRight=&amp;quot;5dip&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;Latitude: &amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView02&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;unknown&amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
    &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;LinearLayout&lt;br /&gt;
        android:id=&amp;quot;@+id/linearLayout2&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView03&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_marginLeft=&amp;quot;10dip&amp;quot;&lt;br /&gt;
            android:layout_marginRight=&amp;quot;5dip&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;Longitute: &amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;TextView&lt;br /&gt;
            android:id=&amp;quot;@+id/TextView04&amp;quot;&lt;br /&gt;
            android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
            android:text=&amp;quot;unknown&amp;quot;&lt;br /&gt;
            android:textSize=&amp;quot;20dip&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;/TextView&amp;gt;&lt;br /&gt;
    &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=19996</id>
		<title>Android Location API</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=19996"/>
		<updated>2013-10-07T13:51:43Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links und Quellen ==&lt;br /&gt;
http://www.vogella.com/articles/AndroidLocationAPI/article.html&lt;br /&gt;
&lt;br /&gt;
== Position bestimmen ==&lt;br /&gt;
Android kann die Position mit dem GPS Empfänger, über umgebende WLAN Netzwerke (die dann Online mit einer Google Datenbank abgeglichen werden) oder über die aktuelle Handyzelle bestimmen.&lt;br /&gt;
&lt;br /&gt;
Für die Positionsbestimmung stellt Android das Package:&lt;br /&gt;
 android.location&lt;br /&gt;
zur Verfügung. &lt;br /&gt;
&lt;br /&gt;
=== Wichtige Komponenten ===&lt;br /&gt;
==== Location Manager ====&lt;br /&gt;
&amp;#039;&amp;#039;Class LocationManager&amp;#039;&amp;#039; für Zugriff auf Android location service&lt;br /&gt;
====LocationProvider====&lt;br /&gt;
Superclass für die LocationProvider die die Position liefern. Es gibt 3:&lt;br /&gt;
 network //Mobile oder WiFi&lt;br /&gt;
 gps&lt;br /&gt;
 passive // für externe Geräte&lt;br /&gt;
====LocationListener====&lt;br /&gt;
Über den Location Manager kann man einen LocationListener registrieren um regelmäßige Positionsupdates zu bekommen.&lt;br /&gt;
==== Geocoder ====&lt;br /&gt;
Über die Geocoder Klasse kann man Positionsdaten zu Adressdaten und umgekehrt ermitteln (Google Service)&lt;br /&gt;
==== Notwendige Rechte / Permissions ====&lt;br /&gt;
ACCESS_FINE_LOCATION permission für GPS, ansonsten ACCESS_COARSE_LOCATION permission&lt;br /&gt;
=== Beispiel 1 - locationapi.simple ===&lt;br /&gt;
[[Android Location API - Simple Location]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Location Snippets ===&lt;br /&gt;
==== User zum aktivieren von GPS auffordern ====&lt;br /&gt;
Hinweis: Es ist nicht möglich GPS nur über den Code zu starten. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);&lt;br /&gt;
boolean enabled = service&lt;br /&gt;
  .isProviderEnabled(LocationManager.GPS_PROVIDER);&lt;br /&gt;
&lt;br /&gt;
// Check if enabled and if not send user to the GSP settings&lt;br /&gt;
// Better solution would be to display a dialog (AlarmDialog) and suggesting to &lt;br /&gt;
// go to the settings&lt;br /&gt;
if (!enabled) {&lt;br /&gt;
  Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);&lt;br /&gt;
  startActivity(intent);&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Simulation auf dem Simulator ===&lt;br /&gt;
Auf dem Emulierten Device GoogleMaps aktivieren falls das aktivieren des GPS Simulators nicht klappt (Bugs). Man kann die DDMS Perspective von Eclipse nehmen um Geopositionen zu senden.&lt;br /&gt;
&lt;br /&gt;
 Window &amp;gt; Open Perspective &amp;gt; Other &amp;gt; DDMS&lt;br /&gt;
&lt;br /&gt;
Über das Terinal und Telnet kann man auch Positionen schicken&lt;br /&gt;
 telnet localhost 5554&lt;br /&gt;
 geo fix 13.12 49.23&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=19993</id>
		<title>Android Location API</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Location_API&amp;diff=19993"/>
		<updated>2013-10-07T10:22:21Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: Die Seite wurde neu angelegt: „== Position bestimmen == Android kann die Position mit dem GPS Empfänger, über umgebende WLAN Netzwerke (die dann Online mit einer Google Datenbank abgeglichen …“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Position bestimmen ==&lt;br /&gt;
Android kann die Position mit dem GPS Empfänger, über umgebende WLAN Netzwerke (die dann Online mit einer Google Datenbank abgeglichen werden) oder über die aktuelle Handyzelle bestimmen.&lt;br /&gt;
&lt;br /&gt;
Für die Positionsbestimmung stellt Android das Package:&lt;br /&gt;
 android.location&lt;br /&gt;
zur Verfügung. &lt;br /&gt;
&lt;br /&gt;
=== Wichtige Komponenten ===&lt;br /&gt;
==== Location Manager ====&lt;br /&gt;
&amp;#039;&amp;#039;Class LocationManager&amp;#039;&amp;#039; für Zugriff auf Android location service&lt;br /&gt;
====LocationProvider====&lt;br /&gt;
Superclass für die LocationProvider die die Position liefern. Es gibt 3:&lt;br /&gt;
 network //Mobile oder WiFi&lt;br /&gt;
 gps&lt;br /&gt;
 passive // für externe Geräte&lt;br /&gt;
====LocationListener====&lt;br /&gt;
Über den Location Manager kann man einen LocationListener registrieren um regelmäßige Positionsupdates zu bekommen.&lt;br /&gt;
==== Geocoder ====&lt;br /&gt;
Über die Geocoder Klasse kann man Positionsdaten zu Adressdaten und umgekehrt ermitteln (Google Service)&lt;br /&gt;
==== Notwendige Rechte / Permissions ====&lt;br /&gt;
ACCESS_FINE_LOCATION permission für GPS, ansonsten ACCESS_COARSE_LOCATION permission&lt;br /&gt;
&lt;br /&gt;
=== Location Snippets ===&lt;br /&gt;
==== User zum aktivieren von GPS auffordern ====&lt;br /&gt;
Hinweis: Es ist nicht möglich GPS nur über den Code zu starten. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);&lt;br /&gt;
boolean enabled = service&lt;br /&gt;
  .isProviderEnabled(LocationManager.GPS_PROVIDER);&lt;br /&gt;
&lt;br /&gt;
// Check if enabled and if not send user to the GSP settings&lt;br /&gt;
// Better solution would be to display a dialog (AlarmDialog) and suggesting to &lt;br /&gt;
// go to the settings&lt;br /&gt;
if (!enabled) {&lt;br /&gt;
  Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);&lt;br /&gt;
  startActivity(intent);&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Simulation auf dem Simulator ===&lt;br /&gt;
Auf dem Emulierten Device GoogleMaps aktivieren falls das aktivieren des GPS Simulators nicht klappt (Bugs). Man kann die DDMS Perspective von Eclipse nehmen um Geopositionen zu senden.&lt;br /&gt;
&lt;br /&gt;
 Window &amp;gt; Open Perspective &amp;gt; Other &amp;gt; DDMS&lt;br /&gt;
&lt;br /&gt;
Über das Terinal und Telnet kann man auch Positionen schicken&lt;br /&gt;
 telnet localhost 5554&lt;br /&gt;
 geo fix 13.12 49.23&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Snippets&amp;diff=19992</id>
		<title>Android Development - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Android_Development_-_Snippets&amp;diff=19992"/>
		<updated>2013-10-07T09:53:59Z</updated>

		<summary type="html">&lt;p&gt;79.240.58.118: /* Gestures - Gesten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Activities ==&lt;br /&gt;
=== Android - Neue Activity anlegen und starten ===&lt;br /&gt;
[[Android - Neue Activity]]&lt;br /&gt;
&lt;br /&gt;
== Layouts ==&lt;br /&gt;
Lock Portrait or Landscape&lt;br /&gt;
&lt;br /&gt;
fullscreen - requestwindowfeature&lt;br /&gt;
&lt;br /&gt;
=== Handle Orientation ===&lt;br /&gt;
[[Android - Handle Orientation]]&lt;br /&gt;
&lt;br /&gt;
== Views ==&lt;br /&gt;
=== Vertical Seek Bar ===&lt;br /&gt;
[[Android - Vertical Seek Bar]]&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
[[Android - OnClickListener]]&lt;br /&gt;
&lt;br /&gt;
== Graphic and Animation ==&lt;br /&gt;
Bitmap - ressource und input stream&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sprites&lt;br /&gt;
&lt;br /&gt;
== Sound ==&lt;br /&gt;
=== Unterstützte Formate ===&lt;br /&gt;
* http://developer.android.com/guide/appendix/media-formats.html&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://stackoverflow.com/questions/4855874/are-there-any-built-in-default-sounds-that-can-be-utilized-in-an-app&lt;br /&gt;
* http://alucard1990.hubpages.com/hub/How-to-Make-a-Simple-Media-Player-for-Android&lt;br /&gt;
* http://stackoverflow.com/questions/3747139/how-can-i-show-a-mediacontroller-while-playing-audio-in-android/5265629#5265629&lt;br /&gt;
&lt;br /&gt;
=== Möglichkeiten zur Sound-Ausgabe ===&lt;br /&gt;
&lt;br /&gt;
====SoundPool====&lt;br /&gt;
&lt;br /&gt;
====MediaPlayer====&lt;br /&gt;
[[Android - Media Player]]&lt;br /&gt;
&lt;br /&gt;
http://developer.android.com/reference/android/media/MediaPlayer.html&lt;br /&gt;
&lt;br /&gt;
Generate Sound (Midi-Files + PCM Generation mit AudioTrack)&lt;br /&gt;
[[Android - rttl Sound File]]&lt;br /&gt;
* http://www.speakingcode.com/2012/01/01/playing-with-android-audiotrack-to-generate-sounds/&lt;br /&gt;
&lt;br /&gt;
System Sounds&lt;br /&gt;
&lt;br /&gt;
=== Fortgeschrittene Techniken ===&lt;br /&gt;
* http://www.martinhoeller.net/2012/01/13/developing-a-musical-instrument-app-for-android/&lt;br /&gt;
&lt;br /&gt;
* http://docs.gstreamer.com/display/GstSDK/Android+tutorials&lt;br /&gt;
&lt;br /&gt;
* http://www.brokenteapotstudios.com/android-game-development-blog/2011/10/playing-a-wav-pcm-sample-with-audiotrack.html&lt;br /&gt;
&lt;br /&gt;
== Threads ==&lt;br /&gt;
* [[Java - Threads]]&lt;br /&gt;
* [[Android - Threads]]&lt;br /&gt;
* [[Java - Timer und TimerTask]]&lt;br /&gt;
* [[Android - Thread Priority]]&lt;br /&gt;
&lt;br /&gt;
== Files, Dateimanagment ==&lt;br /&gt;
[[Android - Dateimanagement]]&lt;br /&gt;
=== Textdatei erzeugen, speichern, lesen ===&lt;br /&gt;
=== Bild erzeugen und speichern ===&lt;br /&gt;
http://stackoverflow.com/questions/10278919/android-writing-reading-picture-to-internal-storage?rq=1&lt;br /&gt;
&lt;br /&gt;
[[Android - Bild erzeugen und speichern]]&lt;br /&gt;
&lt;br /&gt;
=== Zugriff auf Ressourcen ===&lt;br /&gt;
* http://stackoverflow.com/questions/8340445/how-can-i-specify-the-resource-to-get-from-r-res-drawable-dynamically&lt;br /&gt;
Beispiel Speicherkarte:&lt;br /&gt;
 File.DirRootExternal &amp;amp; &amp;quot;/Music&amp;quot;, &amp;quot;titelx.mp3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ressourcen Pfad herausfinden ====&lt;br /&gt;
Ist das richtig ???&lt;br /&gt;
Eigentlich muß die Ressource ID in den Filenamen umgewandelt werden.&lt;br /&gt;
&lt;br /&gt;
Using Resource Name&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&lt;br /&gt;
 android.resource://[package]/[res type]/[res name]&lt;br /&gt;
&lt;br /&gt;
Example : If icon.png image file is available in res/drawable folder you can get path like :&lt;br /&gt;
&lt;br /&gt;
 String PATH=&amp;quot;android.resource://com.my.package/drawable/icon&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Using Resource Id&lt;br /&gt;
&lt;br /&gt;
Syntax : &lt;br /&gt;
 android.resource://[package]/[resource_id]&lt;br /&gt;
&lt;br /&gt;
Example : If icon.png image file is available in res/drawable folder you can get path:&lt;br /&gt;
&lt;br /&gt;
 String PATH=&amp;quot;android.resource://com.my.package/&amp;quot; + R.drawable.icon;&lt;br /&gt;
&lt;br /&gt;
This were the examples to get the URI of any image file stored in drawable folder.&lt;br /&gt;
&lt;br /&gt;
Similarly you can get URIs of res/raw folder also.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
== Gestures - Gesten ==&lt;br /&gt;
[[Android Development - Gesten]]&lt;br /&gt;
&lt;br /&gt;
== GPS, Geolocation und Maps ==&lt;br /&gt;
[[Android Location API]]&lt;/div&gt;</summary>
		<author><name>79.240.58.118</name></author>
	</entry>
</feed>