GPS unter 2.2

R

Rotesmofa

Erfahrenes Mitglied
20
Hallo Jungs,

ich starte gerade mit etwas Praxis.

Ich möchte den GPS Empfänger abhorchen und mit die Daten ausgeben lassen.
Leider bekomme ich unter Eclipse im Emulator keine Werte(auch wenn ich welche Sende im Location Control Fenster, wobei ich bezweifle dass das was tut).

Ich habe versucht auf meinem Handy (Samsung Galaxy S) das zeigt aber ebenfalls keine Werte. Meine Vermutung ist, GPS ist nicht aktiv wenn meine Anwendung läuft, aber wie aktiviere ich das denn?

Gruß
Rotesmofa

Tante Edith: Wenn ich von "GPS_PROVIDER" auf das Wifi/Netzbasierte orten wechsle wird mir ein Längen und Breitengrad ausgegeben also auf "NETWORK_PROVIDER". Das bestätigt meinen Verdacht.


Und hier meine codeschnipsel:

Code:
public class gpstest extends Activity {
	private TextView latituteField;
	private TextView longitudeField;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		latituteField = (TextView) findViewById(R.id.TextView02);
		longitudeField = (TextView) findViewById(R.id.TextView04);
	}

	public void showLocation(View view) {
		switch (view.getId()) {
		case R.id.Button01:
			LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
			Location location = locationManager
					.getLastKnownLocation(LocationManager.GPS_PROVIDER);
			if (location != null) {
				int lat = (int) (location.getLatitude());
				int lng = (int) (location.getLongitude());
				latituteField.setText(String.valueOf(lat));
				longitudeField.setText(String.valueOf(lng));
			} else {
				latituteField.setText("GPS not available");
				longitudeField.setText("GPS not available");
			}
			break;
		}

	}
}
 
Zuletzt bearbeitet:
Es gibt mehrere Gründe warum dein Programm nicht funktionieren könnte. Hast du mal in den LogCat geguckt, ob da eine SecurityException geworfen wird? Dann brauchst du im Manifest noch die
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Falls dein GPS nicht aktiviert ist, dann bekommst du bei getLastKnownLocation() null zurück. Um das zu aktivieren musst du einen Intent abschicken:
Code:
final ComponentName toLaunch = new ComponentName("com.android.settings","com.android.settings.SecuritySettings");
final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(toLaunch);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, 0);
 
  • Danke
Reaktionen: Rotesmofa
Die Permission ist gesetzt, aber deinen 2. Tipp werde ich gleich ausprobieren.
 
Auch wenn der Thread schon hier tod rummliegt, Lösung war seeehr einfach.
Mein gutes Galaxy S hat einfach nie einen Fix bekommen. Mit neuer Beta Firmware läuft alles wunderbar!

Gruß
Rotesmofa
 
BenOtto schrieb:
Es gibt mehrere Gründe warum dein Programm nicht funktionieren könnte. Hast du mal in den LogCat geguckt, ob da eine SecurityException geworfen wird? Dann brauchst du im Manifest noch die
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Falls dein GPS nicht aktiviert ist, dann bekommst du bei getLastKnownLocation() null zurück. Um das zu aktivieren musst du einen Intent abschicken:
Code:
final ComponentName toLaunch = new ComponentName("com.android.settings","com.android.settings.SecuritySettings");
final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(toLaunch);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, 0);

Hi, ich hab auch grad nen Problem mit dem Settings Intent.
Bei Sense UI ist die GPS Einstellung nicht mehr unter Sicherheit sondern im anderen Unterpunkt "Ort". Wie bekomme ich es jz hin das er mir bei normalen Android die Sicherheitsseite öffnet und bei Sense UI die Ort Seite?
 

Ähnliche Themen

B
Antworten
4
Aufrufe
470
bb321
B
S
Antworten
3
Aufrufe
632
swa00
swa00
H
Antworten
2
Aufrufe
928
swa00
swa00
Zurück
Oben Unten