Android имеет функции Gmail push, что означает, что новое сообщение поступает в почтовый ящик без проверки или обновления почтового ящика.
Как я понимаю, процессы синхронизации такие:
1) Пользователь включает синхронизацию
2) Появится сообщение с предупреждением, и флаг синхронизации в базе данных Gmail этого устройства будет иметь значение True
3) Когда новое электронное письмо попадает на Gmail-сервер, оно проверит, имеет ли значение синхронизации устройства значение True, и отправит электронное письмо
Хорошо, я не совсем понимаю, как именно это работает,
Для соединения по Wi-Fi и сотовой связи: открыт ли сокет TCP на телефоне, продолжайте слушать Gmail-сервер, или когда на сервер приходит новое электронное письмо, и он отправляет SMS-оповещение на телефон, и телефон открывает канал данных для получить электронную почту? У двух способов соединения разные подходы?
И второй вопрос: какой метод является приоритетным?
Скажем, когда вы получаете данные (электронные письма) и вдруг телефон подключается к беспроводной сети, будет ли сокет данных закрыт, а затем снова открыт для подключения к WiFi? Каково поведение в случае, когда канал данных оператора и WiFi переворачиваются?
Я также скачал исходный код, кто-нибудь знает, какую часть мне следует изучить, чтобы решить мои вопросы? Я нашел папку с именем «email» внутри папки «package». Должен ли я посмотреть на ее код?
Я знаю, что задал здесь несколько вопросов, я был бы признателен, если бы вы знали ответ на любой из них, большое спасибо!