2010-03-25 13 views
5

Android ma funkcje wypychania Gmaila, co oznacza, że ​​nowa wiadomość przychodzi do skrzynki pocztowej bez sprawdzania lub odświeżania skrzynki pocztowej.Synchronizacja Gmaila na telefonie z Androidem

Jak rozumiem, procesy synchronizacji są takie jak:
1) Użytkownik włącza synchronizację
2) nie będzie msg alertu i synchronizacja flag w Gmail DB tego urządzenia będzie prawdziwa
3) Kiedy nowa wiadomość e-mail dotrze do serwera Gmail, sprawdzi, czy urządzenie zsynchronizowało wartość, jeśli jest prawdziwa, a następnie wyślij wiadomość e-mail.

OK, nie rozumiem dokładnie, jak to działa,
połączenie z siecią Wi-Fi i telefonem, czy telefon ma otwarte gniazdo TCP, słuchaj serwera Gmail, lub kiedy nowy e-mail dotrze do serwera i wysyła powiadomienie SMS na telefon, a telefon otworzy kanał danych, aby pobrać wiadomość e-mail? Czy dwa sposoby połączeń mają różne podejścia?

Drugim pytaniem jest, która metoda jest priorytetowa?
Powiedz, kiedy jesteś w trakcie odbierania danych (wiadomości e-mail) i nagle telefon łączy się z siecią bezprzewodową, czy gniazdo danych zostanie zamknięte, a następnie ponownie otwarte dla sieci Wi-Fi? Jakie jest zachowanie w przypadku, gdy kanał danych przewoźnika i Wi-Fi się przerzuca?

Pobrałem również kod źródłowy, każdy wie, do której części powinienem zaglądać, aby rozwiązać moje pytania? Znalazłem folder "e-mail" w folderze "pakiet", czy powinienem oglądać jego kod?

Wiem, że zadałem tu kilka pytań, byłbym wdzięczny, gdyby znał odpowiedź dla każdego z nich, bardzo dziękuję!

+0

Należy pamiętać, że klient Gmail nie jest open source. Nie jest to w kodzie, który pobrałeś. – CommonsWare

Odpowiedz

6

To technicznie nie jest częścią Androida, ale raczej zastrzeżony pakiet aplikacji Google, który działa na systemie Android. W rzeczywistości nie jest to również zaimplementowane w Gmailu - aplikacje Google wspólnie mają połączenie danych push z serwerami google (zbudowanymi na protokole danych gtalk, ale głównie z powodów historycznych), które udostępniają. Gdy dostępna jest nowa poczta, połączenie push jest używane do wysyłania "łask" do urządzenia, aby powiedzieć, że coś zmieniło się w poczcie, a na urządzeniu jest ono następnie wysyłane do aplikacji Gmaila, która otwiera nowe połączenie z gniazdem z serwerem aby zsynchronizować stan lokalny z wszelkimi zmianami. Ten sam mechanizm służy do synchronizacji kontaktów i kalendarzy, a także do pobierania plików z rynku.

Sposób, w jaki to działa, jest szczegółem implementacji, ale obecnie odbywa się poprzez utrzymywanie połączenia z otwartym gniazdem. W sieci, w której nie można nawiązywać połączeń głosowych i danych, połączenie zostaje przerwane, gdy ma miejsce połączenie głosowe. Podczas przełączania między Wi-Fi i komórką połączenie jest przerywane i restartowane.

Należy zauważyć, że wykonywanie powiadomień push w ten sposób wymaga dużego nakładu zasobów na urządzeniu, dlatego zostało to starannie zaprojektowane, aby umożliwić jednej takiej instancji obsługę wszystkich usług Google.

Powiązane problemy