1. RoofFire, 03.01.2011 #1
    RoofFire

    RoofFire Threadstarter Neues Mitglied

    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 Erfahrenes Mitglied

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

    RoofFire Threadstarter Neues Mitglied

    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 Erfahrenes 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 Neues Mitglied

    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
Badge Icon für eigenen Launcher? Android App Entwicklung 06.05.2019
Eigene App statt Google Assistant starten Android App Entwicklung 15.04.2019
Android Studio Gradle Problem Android App Entwicklung 27.02.2019
OpenWeatherMap JSON Problem bei Forecastabfrage Android App Entwicklung 25.02.2019
[Talkback] Problem mit Überschriften Android App Entwicklung 16.01.2019
Layout Problem. Android App Entwicklung 25.12.2018
Eigene App auf Smartwatch installieren klappt nicht Android App Entwicklung 08.11.2018
Problem mit variable.setText (für TextView) Android App Entwicklung 25.10.2018
MIT AppInventor App erstellen um PDFs zu öffnen, problem Android App Entwicklung 10.10.2018
Problem mit for-Schleife, delay und Margins Android App Entwicklung 08.10.2018
Du betrachtest das Thema "Permission Problem bei eigener Klasse (LocationManager)" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.