Biztos vagyok benne, hogy már többen jártatok úgy, hogy a Gtalk vagy a GMail mobilnet használata esetén késve (vagy egyáltalán nem) szinkronizálta le az üzeneteket, holott push szolgáltatásról van szó. WiFi esetében is előjöhet ez a hiba de nagyon ritka, csak bizonyos routerek esetében fordul elő. Én sokáig szívtam ezzel, de most megtaláltam a megoldást.
A probléma az, hogy a Gtalk mobilnet esetén 28 percenként küld állapotfrissítést (heartbeat) a szerver felé és általában a mobilnet szolgáltató ennél kevesebb idő alatt bontja a kapcsolatot (nem magát a mobilnet kapcsolatot, hanem az 5228-as porton folyó kommunikációt a szerverrel) üresjárat miatt. Erre az a megoldás, hogy csökkentjük az üresjárati időt mondjuk 5 percre, de ez nem olyan egyszerű dolog.
Először is a telefonunknak root-olva kell lennie, ennek módjáról itt olvashattok bővebben. Ha ezzel megvagy (vagy már eleve root-olt volt a készüléked) akkor fel kell telepítened a Push Notifications Fixer nevű alkalmazást. Ezzel a programmal át tudod állítani a telefonon a heartbeat-ek sűrűségét.
A gyári beállítások:
– mobilnet: 28 perc
– Wifi: 15 perc
Ajánlott beállítások a Push Notifications Fixer-el:
– mobilnet: 5 perc (vagy 4 perc, de kevesebbet nem érdemes)
– Wifi: 15 perc (vagy 10 perc)
Ha ezzel megvagyunk nincs más teendőnk, mint élvezni, hogy mindig mindent időben megkapunk 🙂 És ami még fontos, ez a beavatkozás nincs érezhető hatással az akkumulátor üzemidejére.
Akit a téma bővebben érdekel, annak az alábbi linkeket ajánlom figyelmébe (ez volt a forrás is):
– http://forum.xda-developers.com/showthread.php?t=2142503
– http://forum.xda-developers.com/showthread.php?t=1367839&page=9
– http://code.google.com/p/android/issues/detail?id=22570
– https://code.google.com/p/android/issues/detail?id=49721