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.
Új hozzászólás Aktív témák
- Samsung Galaxy A56 - megbízható középszerűség
- Milyen routert?
- Kormányok / autós szimulátorok topikja
- Napelem
- Szünetmentes tápegységek (UPS)
- Xiaomi 15T Pro - a téma nincs lezárva
- Fali konzol lapos tévékhez
- Elektromos autók - motorok
- World of Tanks - MMO
- Dobozcserére kárhoztatja asztali csúcs-CPU-ját az Intel
- További aktív témák...
- Apple iPhone 14 128GB,Kartyafuggetlen,Újszerű,Dobozaval,12 hónap garanciával
- HIBÁTLAN iPhone 13 128GB Pink-1 ÉV GARANCIA - Kártyafüggetlen, MS4405, 100% Akksi
- 208 - Lenovo LOQ (17IRB8) - Intel Core i7-13700F, RTX 4060
- ASUS Vivobook Go E1504GA-NJ284TW Notebook
- Gamer PC-Számítógép! Csere-Beszámítás! I7 10700 / 32GB DDR4 / RX 6700XT 12GB / 512 SSD + 1TB HDD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


