1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. RoofFire, 03.01.2011 #1
    RoofFire

    RoofFire Threadstarter Neuer Benutzer

    Hallo Leute,

    ich hoffe ihr könnt mir helfen. Bin nun schon an meiner zweiten App am Arbeiten. Diese soll die aktuelle Position abrufen.
    Dafür habe ich eine Klasse erstellt, sie nennt sich SearchLocation.
    Diese Klasse besitzt die öffentliche Methode searchLocation welche mir die aktuelle Position zurück gibt.
    Alles in allem ganz simpel.

    Wenn ich nun die Methode aus einer Activity aufrufe funktioniert fast alles. Nur die Methode locationManager.requestLocationUpdates wirft die Exception "SecurityException".

    Eigentlich klar was hier fehlt --> Der Manifesteintrag "ACCESS_FINE_LOCATION".

    Diesen habe ich aber.

    Nun kommt meine eigene Frage:
    Warum bekomme ich dennoch diese Exception geworfen. Muss diese Klasse ein Service/Activity sein um die Permission zum Zugriff auf die aktuelle Position zu besitzen?

    Vielen Dank im Vorraus,
    RoofFire
     
  2. sebastian, 05.01.2011 #2
    sebastian

    sebastian Fortgeschrittenes Mitglied

    Poste mal bitte dein Manifest.xml
     
  3. RoofFire, 05.01.2011 #3
    RoofFire

    RoofFire Threadstarter Neuer Benutzer

    Habe das Problem gelöst. Die Security Exception wird auch bei anderen Problemen geworfen.
    Mir hat der Looper gefehlt:

    Code:
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,0, locationListener, Looper.getMainLooper());
     
  4. Rotesmofa, 06.01.2011 #4
    Rotesmofa

    Rotesmofa Fortgeschrittenes Mitglied

    Verstehe das nicht ganz, diesen Looper brauchst du aber nicht unbedingt zur Nutzung des GPS.

    Gruß
    Rotesmofa
     
  5. RoofFire, 07.01.2011 #5
    RoofFire

    RoofFire Threadstarter Neuer Benutzer

    Nein unbedingt nicht. Ich versuch das einmal so zu erklären wie ich das verstanden habe. Tut mir zugleich leid wenn ich mich nicht korrekt ausdrücke.

    Rufe ich die requestLocationUpdate Methode in einer Activity auf, also im UI-Thread, so brauche ich den Looper nicht.
    Jedoch habe ich eine eigene Klasse mit dem Namen FindLocation erstellt. Diese Klasse wird dann in einem neuen Thread aufgerufen (Da ich in dieser Klasse auf ein GPS Signal warte und das bekanntlich länger dauern kann).

    Wird eben diese requestLocationUpdate Methode in einem nicht UI-Thread aufgerufen benötige ich den Looper.

    So ist meine Interpretation. Ich muss dazu sagen, dass ich erst einmal froh bin, dass es funktioniert. Und ich mich noch nicht mit dem Looper auseinander gesetzt habe (Weiß bisher nicht was dieser bewirken soll).
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Wandernder Text Android App Entwicklung 17.10.2017
[OFFEN] Lists-in-List-Problem Android App Entwicklung 12.10.2017
[ERLEDIGT] Logdateien der eigenen App Android App Entwicklung 15.06.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[ERLEDIGT] Eine Klasse um das aufrufen anderer Intents zu regeln Android App Entwicklung 24.05.2017
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung 24.05.2017
[ERLEDIGT] put in HashMap bringt App zum abstürzen Android App Entwicklung 22.05.2017
[ERLEDIGT] Tipps für AsyncTask Klasse Android App Entwicklung 18.05.2017
[ERLEDIGT] Problem mit Async Task und auszuführender Aufgabe Android App Entwicklung 02.05.2017
[ERLEDIGT] Der Weg zur ersten eigenen App Android App Entwicklung 26.03.2017
Du betrachtest das Thema "Permission Problem bei eigener Klasse (LocationManager)" im Forum "Android App Entwicklung",