Hirdetés

Keresés

Új hozzászólás Aktív témák

  • thon73

    tag

    válasz thon73 #3479 üzenetére

    Megoldottam. Hátha segít valaki másnak is...
    Szituáció:
    Van egy preference activity/fragment és van egy service, ami olvassa a preferences-t. (A service "védett", semmilyen módon nem lehet hozzáférni a rendszer által támogatott módok közül.)
    A gond:
    A preference változásait az activity (is) kell, hogy figyelje; részben a feliratok módosítása, részben viszont ellenőrzés miatt (nem biztos, hogy a service fut...)
    Ha az ellenőrzés miatt módosul az érték, akkor a változást figyelő onSharedPreferenceChanged() újra meghívásra kerül.
    A service is kell figyelje a változást, mert néha reagálnia kellene rá. De az előző esetben a rekació akár kétszer is megtörténhet, is megtörténhet. Ez az adott megoldásban több szempontból is gond, mert pl. nem szabad a nem ellenőrzött értékekkel dolgozni, sok idő stb.
    Megoldás:
    Pofonegyszerű. Bevezettem egy preference-t "counter" kulccsal. Ha a preference ellenőrzése elegédett, akkor növeli a "counter"-t. Service meg csak ezt a countert figyeli.

    És a service nem kell kommunikáljon semmilyen megbízhatatlan activity-vel. Csak reagál a változásokra.
    Semmi mást nem találtam, ahogy egy InputMethodService-t el lehetne érni Android által adott megoldásokkal.

Új hozzászólás Aktív témák