Hirdetés
Új hozzászólás Aktív témák
-
Karma
félisten
Nem elfogadták, hanem a kérdező egyszemélyben fogadta el a választ. Nem mindegy, mert egyáltalán nem biztos, hogy helyes is. Amellett, hogy 2010-ben készült, alapvetően elég súlyos hiba egy Contextre(*) static változóval hivatkozni, mert ezzel keresztülhúzod az életciklusát.
(*): Az Application egy kivétel ez alól, mert processzenként csak egy jön létre biztosan.
Ha a Service-ed példányával akarsz közvetlenül kommunikálni, akkor a Binder erre a megoldás, amit egyébként szintén pár sorral le lehet tudni. Még csak nem is agysebészet, kell egy Binder subclass, az onBind metódus a Service oldalon; egy ServiceConnection és a bindService/unbindService hívás az Activity oldalon.
Ha nem közvetlenül akarsz vele beszélni, akkor pedig ott vannak az Intentek és a BroadcastReceiverek - a Service is simán regisztrálhat egyet amikor életben van -; vagy Ottót ill. EventBust is használhatsz. Mondjuk csak ehhez a feladathoz overkill egy külső libet behozni.
vlevi: Egy kicsit összekeverted a dolgokat. Nem ezek a service-ek típusai.
1) Vannak a bound service-ek, amik ahogy írtad, a bindService hatására élednek, és leállnak amikor lecsatlakozott az utolsó kliens.
2) Vannak a started service-ek, amik egy startService(Intent) hatására indulnak; eldönthetik, hogy leállnak-e, futnak tovább, vagy úgy futnak tovább, hogy ha bármi miatt lehalnának, a rendszer akkor is indítsa vissza őket (sticky). Ettől független dolog az, hogy csak az alkalmazásodon belül, vagy kívülről is hívható-e (exported flag).
3) Vannak még hibrid service-ek, amik olyan startedek, amikre bindolni is lehet. Ez a billentyűzet történet szerintem ebbe a kategóriába kellene, hogy essen.
Az IntentService egy speciális started service ősosztály, ami arra szolgál, hogy egyszerűen tudj a háttérben végrehajtandó feladatokat sorban átadni neki, és majd leáll, amikor mindennel végzett. De ettől még nem lesz külön kategória.
-
vlevi
nagyúr
Ez az intent service. Amit mindentől fuggetlenul el lehet inditani, és fut a háttérben, nem kapcsolódiksemmihez. A servixenek saját magának kell leállnia, ha ninxs rá szükség. De tud üzenni más activitynek.
Én pl ezzel oldottam meg azt, hogy az applikqaciobol kilepve elinditok egy servicet, ami backupot készít, ha szukseges, es utana leallitja magat.
A bindservice arra valo, hogy akkor megy, amikor valami hozzakapcsolodik( ez a bind). És leáll automatikusan, ha mindenki lekapcaolodott rola (unbind). Például pont emiatt nem jó az appbol kilepeskori backupra, ugye, mert az app bezaraskor kéne inditani.
A harmadik service a legegyszerubb fajta, ami csak az appon belul fut, nem indithato külön. De appon belöli apróságokhoz meg pont az a jó.
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Samsung Galaxy S23 Ultra - non plus ultra
- Külföldi prepaid SIM-ek itthon
- World of Warships
- Eredeti játékok OFF topik
- Hogwarts Legacy teszt
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Cyberpunk 2077
- Interactive Brokers társalgó
- Milyen okostelefont vegyek?
- További aktív témák...
- Inno3D GeForce RTX 4070 Ti X3 12G - Karácsonyi akcióban!
- Redragon Kumara K552 RGB Brown Switch magyar billentyűzet
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- GYÖNYÖRŰ iPhone 13 Mini 128GB Pink-1 ÉV GARANCIA -Kártyafüggetlen, MS4173, 94% Akkumulátor
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25)
- Bomba ár! HP Elitebook 840 G1 - i5-4GEN I 8GB I 500GB I 14" HD I Cam I W10 I Gari!
- Nvidia Quadro P4000 // Nvidia Quadro P5000 --- Budapest MPL Foxpost
- Autós kamera eladó
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


