Android имеет функции нажатия Gmail, что означает, что новое сообщение прибывает в почтовый ящик, не проверяя или обновляя почтовый ящик.
Как я понимаю, синхронизирующие процессы похожи на них:
1) Пользователь включает синхронизацию
2) Будет аварийное сообщение и синхронизирующий флаг в Gmail, DB этого устройства будет Верен
3) Когда новое электронное письмо достигнет Сервера Gmail, оно проверит, синхронизирует ли устройство значение, если это Верно, затем посылают электронное письмо
Хорошо, здесь, я не вполне понимаю, как точно делает это работает,
Для WiFi и сигнального соединения ячейки, делает телефон, имеет сокет TCP открытое содержание, слушая Сервер Gmail, или когда новое электронное письмо прибывает Сервер, и это отправляет SMS, остерегающееся телефона, и телефон откроет канал передачи данных для выборки электронной почты? Два способа соединений имеют разные подходы?
И второй вопрос - какой метод является приоритетом один?
Скажите, когда Вы будете посреди получения данных (электронные письма) и внезапно телефонное подключение к беспроводной сети, сокет данных будет закрыт и затем вновь открыт для WiFi один? Каково поведение для случая, когда канал передачи данных поставщика услуг и WiFi зеркально отражают?
Я также загрузил исходный код, кто-либо знает, какую часть я должен изучать, чтобы к решает мои вопросы? Я нашел папку названной "электронной почтой" в папке "пакет", я должен смотреть на его код?
Я знаю, что задал некоторые вопросы здесь, я буду ценить, если Вы будете знать ответ для какого-либо из них, спасибо очень много!
Технически это не часть Android, а скорее проприетарный набор приложений Google, который работает на Android. Это также не совсем реализовано в Gmail - приложения Google в совокупности имеют push-соединение для передачи данных с серверами Google (построенное на протоколе данных gtalk, но в основном там по историческим причинам), которое они разделяют. Когда новая почта доступна, push-соединение используется для отправки на устройство "щекотки", чтобы сообщить, что что-то изменилось в почте, и на устройстве это затем отправляется в приложение gmail, которое открывает новое соединение сокета со своим сервером. чтобы синхронизировать локальное состояние с произошедшими изменениями. Этот же механизм используется для синхронизации контактов и календаря, а также для таких вещей, как инициирование загрузок с рынка.
То, как это работает, является деталью реализации, но в настоящее время это делается путем сохранения открытого сокетного соединения. В сети, которая не поддерживает передачу голоса и данных, соединение разрывается при выполнении голосового вызова. При переключении между Wi-Fi и сотой соединение разрывается и перезапускается.
Обратите внимание, что выполнение push-уведомлений таким способом требует значительных ресурсов устройства, поэтому он был тщательно разработан, чтобы позволить одному такому экземпляру поддерживать все службы Google.