- Honor Magic6 Pro - kör közepén számok
- iPhone topik
- Z Fold6 imitátor árulkodik a fogyókúrázó igaziról
- Milyen okostelefont vegyek?
- Hatalmas külső kijelzővel és akkumulátorral érkezett meg a Honor Magic V Flip
- Bivalyerős lett a Poco F6 és F6 Pro
- Samsung Galaxy S23 Ultra - non plus ultra
- Android szakmai topik
- Nem egyedül érkezett a OnePlus 6
- Redmi Watch 4 - olcsó hús, sűrű a leve
Hirdetés
-
Steamre tart a Prince of Persia: The Lost Crown
gp Hamarosan a Valve áruházában is elérhetővé válik a játék teljes kiadása.
-
Biztonsági aggályok miatt késik a Microsoft hatalmas AI-újítása
it A Microsoft úgy döntött, hogy biztonsági aggályok miatt elhalasztja a Recall AI funkciót, így azt csak szűkebb körben tesztelik egyelőre.
-
Retro Kocka Kuckó 2024
lo Megint eltelt egy esztendő, ezért mögyünk retrokockulni Vásárhelyre! Gyere velünk gyereknapon!
Új hozzászólás Aktív témák
-
#79335424
törölt tag
válasz #79335424 #2062 üzenetére
Lóf..t működik! Persze, hogy egy fontos mél ragad be, mert kifagy ez a fostalicska, én meg nem veszem észre küldéskor, hogy nincs netem. Gyűlölöm a Samu kontárkodásokat! Az összes plusz feature megoldható lenne stock Androidon is, viszont nem lennének ilyen szarságok.
[ Szerkesztve ]
-
bartatamas
senior tag
válasz #79335424 #2094 üzenetére
Jó lenne ilyesmi de nem látok erre semmilyen lehetőséget hogy ezt a beállítást lehessen módosítani.
Az egyik ötletem (ami nem biztos hogy járható) hogy Robotban csinálni egy általános eseményt amely bármilyen Intentet képes fogadni, neked kellene definiálni mi legyen az, ez nem egyszerű:
http://developer.android.com/reference/android/content/IntentFilter.html
És ezután csinálni egy műveletet ami tovább forwardolja ezt az intentet egy általad kiválasztott alkalmazáshoz.
Persze ahhoz hogy ez működjön a Robotnak kell lennie az alapértelmezettnek és neked megoldani hogy máshová forwardoljon különböző esetekben.
-
zeon.hu
nagyúr
válasz #79335424 #2105 üzenetére
az egész kérdés csak a kevesebb parancs lehetősége miatt volt.
de ha átláthatóbb lesz hamarosan, akkor o.k.ha már parancsok:
ha szerkesztés közben kilépek a robotból valamiért, majd visszalépek, akkor felül nem látszik a parancsok listája, tehát nem tudom gyorsan oldalra görgetni.csak egyesével.
akkor látszik ismét a teljes lista, ha a menüben váltok másra, majd vissza a parancsokra.#?*@&!
-
bartatamas
senior tag
válasz #79335424 #2148 üzenetére
Szia,
Az Elixir-ben van egy logika amely nézi az előző X másodpercben milyen határok között mozgott a szenzor által mért érték, és ha attól eltér Y százalékkal akkor detektál változást.
Ilyen "magas" szintű esemény nincs az E-Robot-ban ami átlagot számolna. A jelenlegi megoldással max annyit tudsz megtenni hogy a "delta"-t bekapcsolod, hogy csak a változásokat kapd meg. És a "length" kimenő változót használod hogy ha nagyobb mint egy megadott érték (tehát ha az előző értékhez képest nagyot változott) akkor csináljon valamit.
-
bartatamas
senior tag
válasz #79335424 #2150 üzenetére
Megpróbálom úgy elmagyarázni hogy örökre megértsd
A legtöbb szenzor esemény (ilyen a magnetometer is) egy három dimenziós irányvektor, melynek koordinátái x, y, z. Tehát egy szenzor esemény azt is megmutatja hogy milyen irányból érzékel (x, y, z) és mekkora erősségű mágneses teret (length = gyök(x*x + y*y + z*z)). Minket most az irány nem érdekel, csak az erősség, ezért maradjunk a vektor hosszánál.
Ha nem állítasz be semmit, akkor a parancs minden szenzor eseményre kiváltódik, tegyük fel ezekkel a hossz értékekkel: 31, 30, 32, 29, 58, 57
Ha bekapcsolod hogy "delta" akkor ez csak annyit jelent hogy nem a hossz értékeket küldi el, hanem csak a változásokat: -1 (30 - 31), 2 (32 - 30), -3, 29, -1
Ebből látszik hogy a "delta" elég jó arra hogy kiugró változást érzékelj. Mert ha feltételnek azt állítod be hogy a kapott hossz érték > 20 akkor már tudtad is detektálni a mágneses térerősség 29-ről 58-ra ugrását.
A delta csak ennyit jelent. Nézzük az intervallumot. Ennek szerintem akkor van csak értelme ha NEM deltát használunk. Tehát ha mondjuk azt mondod hogy a 40-nél nagyobb, kiugró mágneses mező érdekel, akkor beállítód az intervallum alsó határának 40-et, felső határ nem kell.
Ez azt jelenti, hogy az esemény csak akkor fog kiváltódni ha a hossz érték ebben a [40, végtelen] intervallumban van. Tehát a példánál maradva kétszer: 58, 57
Persze valószínűleg nem akarod hogy 58-ra és rögtön 57-re is mondjuk jelezzen a parancs, ezért érdemes bekapcsolni hogy csak az intervalluba történő belépéskor, vagyis 58-kor váltódjon ki, 57-kor már nem, mert akkor már bent vagyunk az intervallumban. Legközelebb akkor fog kiváltódni ha kimegy az intervallumból (40 alá csökken) majd vissza.
Az hogy mekkora az alsó határ amit mérni akarsz tapasztalat kérdése. Egyszer meg kell nézni milyen értéket mutat és úgy beállítani. A Nyomkövetés oldalon látszódnak ezek az értékek.
Szóval szerintem Neked úgy kell beállítani, hogy:
- delta kikapcsolva
- csak intervallumba belépéskor
- alsó határ valamilyen érték
- felső határ nincsÉs jöjjenek a változók. Most már értsd meg!
Mikor az esemény kiválasztod, az esemény alatt kékkel ki van írva hogy:
"Kimenő változók: x, y, z, length, timestamp"
Ugyanez a szöveg már ki van írva a Parancsok képernyőn is az esemény alján. Azért hogy mindig tudd hogy milyen változókat használhatsz. Ez egyszerűen azt jelenti hogy amikor az esemény kiváltódik, akkor már be vannak állítva ezek a változók, a nevükkel tudsz rájuk hivatkozni. Ez így érthető?
Tehát ha meg akarod tudni milyen nagyságú a vektor (length) akkor például a következőt tudod csinálni:
Toast üzenet megjelenítése, üzenet: Változó értéke("length")
Tehát a "length" változó már létezik, benne a vektor hosszával. Nem neked kell megcsinálni, az esemény megcsinálja. Ezek olyan paraméterek, nevesített értékek (nem tudom hogy hívjam hogy világos legyen) amit készen kapsz a parancs futása során. Mint a "number" a bejövő hívásnál a hívó telefonszáma.
Feltöltöttem a sample-007-01-es példát amely egy ilyen kezdeti fémdetektorként működik.
-
Oldman2
veterán
válasz #79335424 #2152 üzenetére
Pontosan ez az én (magánjellegű) problémám is.
A megvalósítandó tevékenységsort, szépen össze tudom állítani előre, papíron.
De sokszor igencsak gondban vagyok a jelenlegi GUI-val, amikor elkezdem felvinni a műveleteket.Hol, mikor, hová és miért kell kattintanom?
Pl. bonyolultabb feltételek összeállítása még most, több éves használat után is "mágia" számomra.
:-( -
bartatamas
senior tag
válasz #79335424 #2154 üzenetére
> Pont a lényeg hiányzik belőle, vagyis a" >20" feltétel.
Ami a példában van alsó határhoz írva, az felel meg ennek. Mivel akkor váltódik ki az esemény ha bekerül a [20, végtelen] tartományba, vagyis >20.
> Delta nélkül egy alsó küszöbérték, deltával pedig az eltérés az előzőhöz képest? Nem tűnik logikusnak, mert nem lehetne vele definiálni az összes lehetőséget.
Ez csak egy segítség, hogy a szerintem leggyakoribbnak vélt eseteket meg lehessen gyorsan oldani. Vagy azt nézheted hogy az abszolút érték mekkora, vagy hogy a változás. Hogy egyszerre kellene mindkettőre feltétel, az télyleg szükséges?
> Pl. azt, ha a delta értéket csak az egyik tengelyre szeretném alkalmazni.
Ha ilyesmi kell az fejlesztés, vagy Te oldod meg változókkal és számítgatással, de az nem olyan hatékony.
A koncepció az volt hogy általában az emberek nem akarnak az irányokkal foglalkozni, csak a szenzorok által mért nagysággal, mert ne legyen lényeges hogy tartják a telefont. De persze te nem vagy átlagember
> A +/- értékek itt irány, vagy mennyiségi (jelerősség, erőzavar) eltérést jelentenek?
Az x,y,z-ben a +/- az egyértelműen irány. Ha deltát használsz akkor nyílván növekedés/csökkenés.
A hossz/nagyság nem lehet negatív.> Ha jól értem, amit írtál, akkor, ha nem definiálom tengelyenként az eltérést, akkor az Elixírben, bármelyik tengelyre vonatkozó változást lehetne alapul venni a Robot delta értékéhez?
Meg lehet oldani kis fejlesztéssel.
-
bartatamas
senior tag
válasz #79335424 #2156 üzenetére
Az eseményt szerintem azért érdemes bonyolítani mert bár meg lehet oldani azt is amit írsz újabb vagy bonyolultabb esemény nélkül, de rosszabb hatásfokkal. Úgy értem jobban fog merülni.
Az Elixir abban különbözik hogy ott egy magasabb szintű logika van implementálva ami pár másodpercig átlagot számol és utána az ettől való százalékos eltérést vizsgálja.
Ha a Robotban implementálnám ezt az algoritmust, annak is lenne két paramétere. Mekkora intervallumot átlagoljon és hány százalékos változást tekintsen eltérésnek. Nagyon hasonló a mostani eseményhez két különbséggel:
- az eltérést nem az előző 1, hanem az előző X érték átlagához nézi
- az eltérést nem csak abszolút értékben (pl 8) hanem százalékos eltérésben is tudta vizsgálni (pl 10%)
Ebből látszik hogy szerintem az Elixir algoritmus természetes kiterjesztése a jelenlegi E-Robot funkcióknak. Ezért gondolom úgy hogy ki kellene egészíteni az eseményt és sokkal jobban használható lenne.
Az irányokról. A magnetométer szenzor tudja detektálni a mező nagyságát és irányát is. Gondold el, így tudja merre van a mágneses északi pólus. Próbáld ki Elixírben, látszik higgy a koordináták előjelet váltanak ha megfelelően forgatod a telefont. A koordináta rendszer valós, az egyes koordináták + és - iránya azt mutatja hogy a vektor azon komponense merre mutat, mint ahogy matekból tanultuk.
Egy kis irodalom, nem egyszerű téma:
http://developer.android.com/reference/android/hardware/SensorEvent.html
Az erő nagyságát, vagyis a vektor hosszát én számolom így: négyzetgyök(x*x + y*y + z*z), vagyis az nem lehet negatív.
A változás mértékét sem a szenzor adja, azt is én számolom. Lehetne az irány változását is számolni (v2 - v1), de én csak erő nagyságának változását számolom (length2 - length1)
Amúgy a letöltött példa parancs nem működött nálad jól?
-
bartatamas
senior tag
válasz #79335424 #2158 üzenetére
Az elsőre pont azt mondom hogy Elixírben ez az érték változik, mert nem egy abszolút szám, hanem a korábbi átlagtól való százalékos eltérés. De gondolom arra gondolsz hogy a hossz értéket is ki lehetne írni.
A másodikra pedig azt akarom mondani hogy a legutóbbi verzióba tettem bele egy általános Rendszer / Broadband üzenet eseményt, amivel elvileg bármilyen broadcast eseményt el lehet kapni.
Egyébként ez utóbbit miattad tettem bele, azt hittem meg tudom vele oldani az alapértelmezett alkalmazás felüldefiniálós problémát. De sajnos kiderült nem, mert azok nem broadcast üzenetek, hanem activity (képernyő) megnyitások.
-
-
bartatamas
senior tag
válasz #79335424 #2228 üzenetére
Örülök. Már akár tehetnék is ki új verziót.
Sajnos azóta páran jelezték hogy a root-ot igénylő funkciók lollipop alatt nem működnek. Egyelőre várok hogy tesztelhessem (még nem jött frissítésem) és javíthassam. Én azon kevesek közé tartozok akik nem örülnek az új verzióknak, mindig kezdhetem előről a fejlesztést
-
csipuka
senior tag
válasz #79335424 #2241 üzenetére
Az elejen leszogeztem, hogy csak net kapcsolatos kartyam van, tehat csak data alapu kapcsolatom lehet, mobil hivas nem. A telorol ugy tudom csak kikapcsolni a mobil radio-jat, ha airplane mode-ba megyek, ez viszont lekapcsolja a wifi-t is, de ezt vissza birom kapcsolni airplane modban is.
Igazabol nekem csak annyi kellene, hogy a mobil tornyokhoz kapcsolodo radiot kapcsolgassam ki/be attol fuggoen, hogy otthon vagyok vagy sem.
Mivel a radio-t nem tudom manipulalni e-robot alatt, legalabbis nem talaltam meg, ezert maradt az airplane mode. -
csipuka
senior tag
válasz #79335424 #2246 üzenetére
Szerintem egyrol beszelunk. Vegulis a mobil radionak 1 antennaja van tudtommal, szoval, ha az kivan kapcsolva, akkor nincs kapcsolat a mobil tornyokkal. Se beszed, se adat. Nna ezt akartam kikapcsolni.
Talaltam egy appot vegul, ami az airplane mode-t teszi szelektivve, es meg lehet hatarozni, hogy airplane mode eseten mit kapcsoljon ki. Kivettem a wifi-t igy most orom es bodottag.
Ha kapcsolgatom az airplane mode-t, nem befolyasolja a wifit. Nem igy akartam, de ez is tokeletesen lefedi amit akartam. Koszi a torodest
A mobiladat kikapcsolas azert nem opcio, mert a radio-t akartam kikapcsolni, hogy ne fogyasszon, ha wifi-n logok egesz nap. a google voice kezeli a be/kimeno hivasokat, igy csak adatkapcsolat kell, mindegy, hogy min keresztul.[ Szerkesztve ]
-
bartatamas
senior tag
válasz #79335424 #2233 üzenetére
Szia,
Tudod hogy nekem ez a rész homály. 3g/4g detektálásra nem lehet használni a Hálózat / Hálózat típus és altípus értékeket? Ha a hálózat típus mobil akkor nézd meg mi az altípus nálad 3g és 4g esetén.
Ha a hívandó szám mondjuk egy "number" változóban van, akkor ki tudod egészíteni az Összefűzés operátorral:
Összefűzés("00361", Változó(number))
-
bartatamas
senior tag
válasz #79335424 #2289 üzenetére
Sziasztok,
A fókuszba kerülés sajnos az a funkció ami teljesen megszűnt Lollipop alatt:
http://developer.android.com/reference/android/app/ActivityManager.html#getRecentTasks(int, int)
Eddig ezt szépen le lehetett kérdezni, most már nem ad vissza semmit, biztonsági okokra hivatkozva.
Ennek kiváltására eddig egy új, úgynevezett UsageStats megoldást javasolnak fórumokon:
http://developer.android.com/reference/android/app/usage/UsageStatsManager.html
Ezt építettem be, lekérem az elmúlt 1 napi használati statisztikát, ebben van egy getLastTimeUsed() hívás, amely az alkalmazás utolsó használatának időpontja. Én is ezt használom. Lehet itt van valami anomália.
Balikaa, küldenél nekem levelet ide: bartadev@gmail.com
Küldenék olyan verziót amelyben van egy kis extra logolás. Ha a fenti megoldás nem működik úgy ahogy kell, akkor attól félek a fókuszba kerülés működést elvesztettük.
Új hozzászólás Aktív témák
- Eladó Samsung Galaxy A40 64GB, Dual, kártyafüggetlen (A405) -
- BenQ PD3200U - 32" 4K 16:9 100% sRGB 60Hz Designer Monitor
- ASUS TUF Gaming A15 FA507XU- LP4050W Gray ELADÓ!!!!!! (GARANCIÁLIS 36-HÓNAP)
- Újszerű Spigen Liquid Air Folio Tok, iPad Pro 12.9, Fekete
- Huion Kamvas Digitalizáló Tábla / Rajztábla / Külső Monitor okos tollal /// ÚJ // Számla + Garancia