NETWORK_PROVIDER altivieren?

  • Antworten:3
  • Bentwortet
Thomas Steinbach
  • Forum-Beiträge: 6

24.03.2012, 11:09:43 via Website

Hallo Leute

Da gibts ja diese Einstellung unter Standort & Sicherheit mit dem Namen Drahtlosnetzwerke.
Die legt fest ob der Standort per Funk oder W-Lan bestimmt werden darf.

Wie man den Status abfragt hab ich herausgefunden:
1LocationManager.isProviderEnabled (LocationManager.NETWORK_PROVIDER);

Aber wie kann man den NETWORK_PROVIDER per Code aktivieren?

Danke,
Thomas

— geändert am 24.03.2012, 11:10:18

Antworten
Florian B.
  • Forum-Beiträge: 284

24.03.2012, 12:41:17 via Website

Meines Wissens nach kann man die Location Provider gar nicht über Code aktivieren. Dies ist ein Sicherheitsmechanismus, sodass eine App nicht ohne Zustimmung des Nutzers Positionsdaten sammeln kann. Sollte deine App Positionsdaten brauchen und kein Provider aktiv sein, dann solltest du den Nutzer die Möglichkeit geben aus deiner App heraus in die Einstellungen zu Standort und Sicherheit springen zu können. Sodass er sie bei bedarf bequem aktivieren kann.

Antworten
Thomas Steinbach
  • Forum-Beiträge: 6

24.03.2012, 13:03:09 via Website

Ok wenn das nicht vorgesehen ist...

Hat das schon jemand gemacht, aus der App zu den Einstellungen zu verlinken?

Danke,
Thomas

Antworten
Florian B.
  • Forum-Beiträge: 284

24.03.2012, 14:51:43 via Website

Jo, das ist nich schwer. Du packst folgendes Intent und rufst damit eine Activity auf.

Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(intent, <requestCode>);

Für <requestCode> musst du irgendein int Wert angeben. Dieser Wert wird dir wieder in der onActivityResult() Methode zurückgegeben, wenn der User aus den Stantorteinstellungen in deine Activity zurückkehrt. Somit kannst du erkennen woher ein User wieder zurückgekommen ist.

Antworten