-
6460 - 6460
7678 - 7601 7600 - 7501 7500 - 7401 7400 - 7301 7300 - 7201 7200 - 7101 7100 - 7001 7000 - 6901 6900 - 6801 6800 - 6701 6700 - 6601 6600 - 6501 6500 - 6401 6460 - 6460 6500 - 6401 6400 - 6301 6300 - 6201 6200 - 6101 6100 - 6001 6000 - 5901 5900 - 5801 5800 - 5701 5700 - 5601 5600 - 5501 5500 - 5401 5400 - 5301 5300 - 5201 5200 - 5101 5100 - 5001 5000 - 4901 4900 - 4801 4800 - 4701 4700 - 4601 4600 - 4501 4500 - 4401 4400 - 4301 4300 - 4201 4200 - 4101 4100 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Mr Dini
addikt
Hát, ismét sikerült tartani a határidőt, s sikerült pont egy-két héten belül kiadni a megoldást...
A lelkesedésem a témában nem lanyhult, csupán krónikus időhiányban szenvedtem.Nos, megoldást még nem kaptam a taskra, de mivel első alkalom, megértem.
Ezért vágjunk is bele!A kész task eleje valahogy így fog kinézni:
A task első eleme egy szimpla Load Image, aminek betallóztam egy képet (példánkban a Tasker ikonját, de bármi lehet). Ez lesz majd az értesítésünk nagy ikonja. És azért nem Java-val töltöttem be, mert így egyszerűbb.

A következő lépésben pedig lekérjük az applikáció erőforrásokért felelős osztályát. Erre azért lesz szükség, mivel az értesítésünk mini ikon azonosítóját az említett osztály segítségével tudjuk majd lekérni. Ehhez adjunk hozzá egy új elemet a taskhoz, aminek a típusa legyen Code->Java Function. Itt a 'Class or Object' mező feletti gőzölgő kávé ikont kell megérinteni, majd a felugró lista alján válasszuk a CONTEXT változót. Ez a kávéspohár lista jeleníti meg az általunk létrehozott változókat, illetve a két Taskerbe épített gyári darabot. Az egyik ezek közül a CONTEXT, ami az adott app környezeti dolgaihoz enged hozzáférést adni (pontosabb leírás a Droid dev oldalon: [link]), a másik pedig a Load Image által betöltött képet fogja visszaadni. Ez az IBUFFER nevet kapta (később használni is fogjuk). Ha megvan a CONTEXT változó, akkor az alatta elhelyezett 'Function' mező feletti nagyítóra kattintsunk, majd válasszuk ki a listában a getResources metódust. Ha mindent jól csináltunk, a Function mező ezzel fog gazdagodni:
getResources
{Resources} ()Ez azt jelenti, hogy a getResources függvényt hívjuk meg, melytől várunk egy Resources típusú visszatérési értéket (a visszatérési érték mindig '{}'-k között van, amennyiben van a függvénynek ilyen) és a két zárójel közé kerülnének a bemeneti változók. De mivel egy metódussal van dolgunk, nem pedig egy függvénnyel, így nem szükséges változókat átadni neki, mindenképpen megkapjuk esetünkben a Taskerhez tartozó Resources osztályt (igen, a függvény és metódus közt csupán ennyi különbség van :)). Ezt a visszatérési értéket pedig tároljuk le az egyszerűség kedvéért a 'res' nevű változóban. Azaz írjuk be a 'Class or Object' felett megjelent 'Return {Resources}' mezőbe a 'res' (a ''-k nem kellenek, csak elválasztási célokat szolgálnak!) szócskát. Vizuális típusoknak pedig [itt] egy screenshot az utóbbi lépésről.

A következőkben használjuk fel az imént létrehozott 'res' változónk, s kérjük le a leendő értesítésünk mini ikonját, mely mindenképp kötelező az összes értesítéshez. Ehhez szúrjunk be ismét egy Java Function elemet rögtön az előző után (gyakori lépés
), majd a 'Class or Object' résznél válasszuk ismét a kávéspoharat, s azon belül a friss és ropogós 'res' változónk! A 'Function' fülnél pedig keressük ki a getIdentifier függvényt. A kiválasztás után pedig egymás után három 'Param (String)' fog megjelenni. Az első mezőbe írjuk be a "cust_notification"-t, a másodikba a "drawable"-t, míg az utolsó helyre a "net.dinglisch.android.taskerm"-et. Az idézőjel opcionális, viszont erősen ajánlom ebben az esetben a használatát, különben előfordulhat, hogy a kávéspohár alatt megjelenik majd, mint változó. Ez pedig sok-sok task/változó esetén nem kellemes, higgyétek el nekem...
Végezetül pedig a 'Return {int}' helyébe írjuk mondjuk a 'cIcon'-t. Ezzel meg is kaptuk a Tasker értesítési mini ikonjának azonosítóját. [kép]Most, hogy előkészítettünk pár dolgot, rakjuk össze magát az értesítést! Ehhez az Android egy NotificationCompat.Builder osztályt biztosít, ami nagyon megkönnyíti számunkra a folyamatot. De első lépésben valahogy le kellene kérnünk ezt az osztályt, hogy használhassuk. Ehhez nyissunk meg egy újabb 'Java Function'-t, viszont most a 'Class or Object' mezőnél ne a kávésbögrére, hanem a nagyítóra menjünk. Írjuk be a keresőbe a 'Notification' szócskát, majd válasszuk a listában a 'Notification$Builder'-t! A Function részben szintén nagyító, majd válasszuk a 'new'-ot, de vigyázzunk, nekünk csak a sima Context bemeneti értékkel megáldott verzió megfelelő, így válasszuk azt! Alatta pedig a megjelent 'Param (Context)' mezőhöz keressük ki a kávésbögrével a 'CONTEXT' változót (kávé helyett a kézzel beírás is tökéletes, amennyiben pontosan tudjuk, mire van szükségünk)! A Return mezőbe pedig írjunk mondjuk 'mNotificationBuilder'-t. Ezzel a változóval pedig már dolgozhatunk is a közeljövőben!
[kép]Most adjunk a leendő értesítésnek egy címet! Ehhez sokadszorra is egy Java Function-ra lesz szükségünk. A 'Class or Object' mezőbe kávézzuk ki az imént inicializált 'mNotificationBuilder' változónk, 'Function'-nek pedig keressük ki a setContentTitle függvényt! A 'Param (CharSequence)' alá pedig írjuk idézőjelek közé az értesítés nevét. Mondjuk azt, hogy "Test notificaton". Nem győzőm hangsúlyozni az idézőjel fontosságát, mivel ez a CharSequence típus megköveteli a meglétét! A Return értéket hagyjuk üresen, mivel ebben az esetben a változtatásokat az mNotificationBuider őrzi meg (felülíródik amit módosítunk).[kép]
Ha szeretnénk az értesítésnek szöveget is a cím mellé (nem kötelező), akkor ismételjük meg az előző lépést, annyi különbséggel, hogy a setContentTitle helyett válasszuk a setContentText fv.-t!
A következő lépés legyen egy elengedhetetlen rész, mégpedig annak a bizonyos mini ikonnak a beállítása, amit korábban lekérdeztünk. Ha ez nincs meg, vagy hibás, abban az esetben az értesítésünk nem fog majd megjelenni... Ennek állítása rendkívül egyszerű, csak kövessük az előző két lépést. De itt a setSmallIcon-t válasszuk (aminek csak egy int bemeneti változója van), s a 'Param (int)' mezőjébe kávézzuk ki a korábbi cIcon változónkat!
Ezzel kész is van az alapkoncepció, hiszen ez a páros már egy használható értesítést tud alkotni. Viszont a példának még koránt sincs vége, hiszen a kicsi ikon mellé milyen jól mutatna egy nagy ikon is, nemde?
Ezért kellett az első lépésben nekünk a Load Image. Megint csak járjunk el hasonlóan az előzőekhez! Most viszont a setLargeIcon-ra lesz szükségünk. Paraméternek pedig szintén kávézzunk, keressük meg a lista alján elhelyezkedő IBUFFER változót, ami jelenleg az ikonunk tartalmazza a Load Image miatt. Hála a Taskernek. 
Még egy kis színezést is adhatnánk az értesítésnek, melyhez a következő Java Function 'Class or Object' nagyítójában a Color osztályt kell megjelölni. A 'Function' részben szintén a nagyító alatt találunk egy argb függvényt. Én most egy szép, élénk zöldet szeretnék, ezért a paraméterekhez egyenként, sorban ezeket írtam: 255, 0, 255, 0. A visszatérési, azaz return értéket pedig a notificationColor változóban tároltam le.[kép]
Most, hogy megvan a szín, már csak rá kell tenni az értesítésre. Ehhez pedig ismét hasonlóan a setContentTitle-hez (és társaihoz) kell eljárnunk, de most a setColor-ra lesz szükség, a notificationColor paraméterrel.
Már majdnem kész az értesítés, viszont hosszabb leírásoknál nem elég ez a csöpp kis értesítés. Ezért érdemes kiterjeszthetővé tenni. Ehhez kelleni fog egy Java Function, 'Class or Object': BigTextStyle; Function: new {BigTextStyle} (android.app.Notification$Builder). {Bízom benne, hogy most már a nagyító és a kávésbögre berögzült, tudatos mozdulatsorrá vált, így a következő pár lépésben nem tervezem már részletezni.} Mint látható, a "függvénynek" szüksége van egy Builder típusú bemeneti változóra, azaz adni kell neki egy egyszerű értesítést, amit át tud alakítani kiterjeszthetővé. Szerencsére nekünk pont van is egy ilyen változónk, ami ugye az mNotificationBuilder névre hallgat. Így adjuk meg neki azt! A neve pedig legyen mondjuk 'mBigTextStyle'! [kép]
Következőleg a 'Class or Object' mezőbe tallózzuk az mBigTextStyle váltózót, majd a Function részben keressük meg a setBigContentTitle függvényt! Paraméternek adjunk mondjuk "Test notification"-t itt is. ez lesz a kiterjesztett értesítés neve.[kép]
Az előző lépést kövessük el ismét, annyi különbséget eszközölve, hogy a Function helyébe most a bigText függvény kerüljön, az érték pedig (szintén idézőjelek közt) legyen az a hosszabb szöveg, amit ki akarunk iratni kiterjesztéskor a leírásban.
Most, hogy fel lett építve az értesítés, s már nem tervezünk rajta változtatni, készen áll a megjelenítésre. Ehhez használjuk az mBigText változónkat, mint 'Class or Object', 'Function'-nek a build-et, s visszatérésnek az 'mNotification'-t!
Most pedig le kell kérnünk a rendszertől az értesítéskezelőt, hogy kiküldhessük/frissíthessük az értesítésünk. Hogy ezt el tudjuk követni, nyissunk megint csak egy Java Function elemet, a 'Class or Object' részbe tallózzuk ki a CONTEXT-et, 'Function'-nek pedig a getSystemService fog kelleni nekünk. Figyeljünk rá, hogy a String típusú bemeneti értékkel ellátott darabot válasszuk, ne pedig a Class-t! A paramétere pedig legyen "notification". Végül pedig mentsük el a visszatérési értékét a '(NotificationManager) mNotificationManager' nevű változóba. Bizony, itt meg kell adnunk a névnél zárójelben a változónk típusát, mivel a getSystemService függvény egy szimpla Object-tel tér vissza. A Tasker pedig így tudja, hogy ez valójában nem csak egy Object, hanem egy NotificationManager típus is. Ez pedig például azért hasznos, mert a későbbiekben nagyítózva a változóhoz elérhető függvényekhez, a Tasker nem az Objektum, hanem a NotificationManager típus elérhető fv.-jeit fogja nekünk felsorolni. Egyébként ez hasonlóan működik a natúr Java-ban is, cast-olásnak hívják.[kép]
És végre elérkeztünk az utolsó lépéshez, mégpedig az értesítés tényleges kiküldéséhez!
Ehhez nyissunk megszokottan egy Java Function-t, 'Class or Object'-nek válasszuk a méltán szimpatikus mNotificationManager változónk, majd a Function részben keressük meg nagyító alatt a notify {} (int, Notification) metódust. Az első, int típusú paraméter legyen mondjuk '1'. Ez lesz az alkalmazáson belüli értesítések közül az egyes sorszámú ekkor. S erre hivatkozva lehet majd a későbbiekben frissíteni/törölni az értesítést például. A második paraméter pedig legyen az mNotification.[kép]Kész is vagyunk! Most, ha mindent jól csináltunk, meg is jelenik a task lefuttatásakor az értesítés!
Viszont, ha valamiért mégsem történne ez, akkor innen letöltve az én verzióm, lehet összehasonlítást végezni. Amennyiben pedig ezek után sincsen meg a kiba forrása, tessék kapálózni bátran, hisz azért van a fórum! 
Sok sikert hozzá!

Új hozzászólás Aktív témák
-
6460 - 6460
7678 - 7601 7600 - 7501 7500 - 7401 7400 - 7301 7300 - 7201 7200 - 7101 7100 - 7001 7000 - 6901 6900 - 6801 6800 - 6701 6700 - 6601 6600 - 6501 6500 - 6401 6460 - 6460 6500 - 6401 6400 - 6301 6300 - 6201 6200 - 6101 6100 - 6001 6000 - 5901 5900 - 5801 5800 - 5701 5700 - 5601 5600 - 5501 5500 - 5401 5400 - 5301 5300 - 5201 5200 - 5101 5100 - 5001 5000 - 4901 4900 - 4801 4800 - 4701 4700 - 4601 4600 - 4501 4500 - 4401 4400 - 4301 4300 - 4201 4200 - 4101 4100 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Tudástár Tasker - AZ Android alkalmazás
- Milyen légkondit a lakásba?
- Megújult mobilos felület, fórumos ráncfelvarrás a PROHARDVER! lapcsaládon
- Samsung Galaxy A52s 5G - jó S-tehetség
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Mesterséges intelligencia topik
- BMW topik
- Autós topik
- Felégeti készpénztartalékait a Tesla
- Asztrofotózás
- AliExpress tapasztalatok
- További aktív témák...
- Dobozos DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -30% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Új Dobozos Lenovo Thinkpad P14s G5 Workstation Laptop 14,5"-60% Ultra 7 165H 32/512 RTX 500 3K 120Hz
- OH Új Dobozos Dell Latitude 3450 "KIS TERVEZŐ LAPTOP" 14" -40% i7-1355U 16/256 NVIDIA MX570A 2GB FHD
- Milwaukee Switch Tank
- Honor 600 Lite 5G Dual SIM 8+256 GB Sprout Green
- Apple iPad 7 32GB (3 hó Garancia)
- Samsung Galaxy S26 Ultra 512 GB Égkék Karcmentes állapot 12 GB RAM SN: R5GL22FEBCW 6 hónap g
- PlayStation 5 (Slim) Digital Edition - 825GB
- Hp ProDesk/ EliteDesk SFF/MT G4/ G5/ G6 / i5 8-9-10.gen /Win11- Számla, garancia
- AKCÓ! HTC VIVE Pro 2 virtuális valóság szemüveg garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
A lelkesedésem a témában nem lanyhult, csupán krónikus időhiányban szenvedtem.
Ezért vágjunk is bele!

Ehhez nyissunk megszokottan egy Java Function-t, 'Class or Object'-nek válasszuk a méltán szimpatikus mNotificationManager változónk, majd a Function részben keressük meg nagyító alatt a 
