Android - GPS - service

Android - GPS - service
2020-08-25T16:18:48+02:00
2020-10-11T00:05:55+02:00
2022-10-15T21:16:00+02:00
vazul
Sziasztok!

Csináltam egy kis Androidos progit, ami megjeleníti a GMAPS -et a felületén és ahogy mozog a telefon szépen jelöli a térképen merre halad.
Egy baj van vele, hogy ha elalszik a telefon, vagy átvált a TASK -on egy másik programa a felhasználó, akkor leáll az egész...

Olvasgattam erről és azt találtam, hogy service -ben kell futtatni a GPS lekérést.

Ezek után a Android - Location Based Services - Tutorialspoint -oldal alapján csináltam én is egy GPSTracker -osztályt és annak a onLocationChanged -metódusába betettem lényegében az egész logikámat ami eddig szépen működött.

Ezek után ha elindítom a progit látszólag minden rendben. Szépen fut a onLocationChanged, rögzíti a poziciókat.
De ha elaltatom a progit, vagy átváltok egy másikra azt látom, hogy maga a programom működik, nem állt le, de az onLocationChanged -metódus nem hívódik meg... Nem fut... Így nem rögzíti most sem a program a telefon mozgását.

Van valakinek ötlete mi a baj? A service -osztályban kellene még valamit beállítani?

Előre is köszi.
Mutasd a teljes hozzászólást!
Android service-be kell tenni a logikát. Van olyan szerviz, amit nem állít le a Droid, ha más alkalmazás kerül előtérbe. Kiindulásképpen esetleg nézd meg az android doksi idevágó részét: https://developer.android.com/guide/components/services
Mutasd a teljes hozzászólást!

  • Hát nem boldogulok... :(
    Megcsináltam most már service -ként, ezer egy példa kódot átnéztem a neten, de ha ellalszik a telefon leáll a LocationListener és így a helyzet lekérdezés is...
    Mutasd a teljes hozzászólást!
  • Szia!

    Úgy néz ki mégis összejött... Viszont van egy gondom még... Az activity -felől hogyan tudok folyamatosana adatokat küldeni a service -nek?

    A service felől tudok folyamatosan adatot küldeni az activity -nek és meg is kapja, de fordítva nem megy.

    Amikor elindítom a service -t, akkor még elmegy az adat felé, amit el is kapok a onStartCommand -ban, de online módon hogyan tudok neki adatot küldeni és fogadni?
    Mutasd a teljes hozzászólást!
  • "Boundolni" kell a szerviz-t, akkor egy interfészként látod az activity-ből. Keress rá a Bound service -re a neten.
    Mutasd a teljes hozzászólást!
  • Összejött a dolog? Én már sok Service-t csináltam, olyanokat amik túlélik ha a programot teljesen kilövöd, akár még a task menüből is. 
    Viszont van olyan telefongyártó mint a Huawei, hogy a beállításokban kell az applikációnak külön beállítani, hogy működhessen Activity nélkül is, de genyó módjára a "baráti" app-oknak nem kell ezt beállítani (FB, Runtastic, stb.) csak a mezei programozóknak.
    Amúgy meg a GPS adat attól még jönni kellene, hogy a háttérbe rakod az applikációt, nem lehet, hogy az onPause-ba betettél egy listener megszakítást (ha valahonnan úgy másoltad ki a kódot, és nem figyeltél)?
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd