Андроид неправильно показывает время. Сбивается часовой пояс на андроиде
Есть несколько причин появления этой “временной аномалии” в планшете. И поверьте, если время сбивается, так это вряд ли от того, что планшет разучился считать.
Список основных причин, почему так бывает, и способы решения
- Вы выключаете планшет на ночь, например, для экономии заряда. Очень распространенная причина, и единственный способ заставить время работать правильно — прекратить без весомой причины выключать планшет. Это ж не ноутбук, и не телевизор.
- Если у вас планшет оборудован 3G модулем, и в него вставлена сим-карта, вспомните, где вы покупали симку. Возможно, вы покупали карточку в другом регионе, где другой часовой пояс. И если у вас в настройках стоит галочка “Дата и время сети” , это означает, что на планшете выставляется время, заданное настройками оператора в том регионе, где покупалась SIM-карта. Решение — снять эту галочку, и выставить время вручную.
- “Плохая” прошивка. Если вы баловались с перепрошивкой планшета, вполне возможно, что установленная вами прошивка содержит какой-то баг. Решение — прошейтесь официальным программным обеспечением.
- Проблемой может быть и сам аппарат. Говорят, что у китайских планшетах завихрения со временем — довольно частое явление. В борьбе с этим недугом поможет приложение ClockSync (требует ROOT права для работы). Эта программа позволит настроить автоматическую синхронизацию времени через интернет, главное в настройках даты и времени снимите галочку с пункта “Часовой пояс сети”, и поставьте правильный часовой пояс, соответствующий вашему региону.
- Tutorial
Предположим, вы уже давно используете Android, а потому может показаться, что он прекрасно справляется с задачами синхронизации времени – будильники срабатывают вовремя, каких-то явных отклонений времени не наблюдается и т. д. Однако уверены ли вы полностью в том, откуда Android на самом деле получает данные о точном времени и часовых поясах? Если у вас есть хоть какие-то сомнения о том, как это работает - добро пожаловать под кат.
В Android существует две проблемы со временем: это его непредсказуемая синхронизация и необходимость в актуализации данных о часовых поясах даже в самой свежей версии ОС.
Предыстория: Android является мобильной ОС, базирующейся на ядре Linux, он спокойно подключается к интернету и, конечно же, можно предположить, что синхронизация времени осуществляется с помощью NTP , однако, это не так. Исторически сложилось, что Android был предназначен для использования исключительно в мобильных телефонах (вспомните версию 1.6). При этом только к 3 мажорной версии он обзавёлся интерфейсом для планшетов и начали́сь другие подвижки к унификации интерфейса и начинки ОС. Однако даже версии 4.4 и Android L получают сигналы точного времени теми же методами, что их получала Nokia 3310 и другие, более ранние GSM/3GPP телефоны, т. е. от вышек сотовой связи при регистрации в сети (при подключении к вышке). При этом планшеты или другие устройства без модуля связи, в принципе не имеют возможности синхронизировать время автоматически.
К великому сожалению, чтобы научить Android синхронизировать время полностью автоматически с помощью NTP нам понадобиться root доступ ибо API для точной установки времени в Android ныне отсутствует.
Приступим. Первое, что необходимо сделать, это выключить синхронизацию времени с мобильной сетью. При этом установку часового пояса я рекомендую оставить в автоматическом режиме, а отключать её стоит, только если есть гарантия, что устройство будет работать в стационарном режиме.
Скриншот окна настроек «Настройки -> Дата и время» версии Android 4.x:
Далее, необходимо установить приложение ClockSync , которое и будет выступать для нас альтернативой демону синхронизации времени с помощью NTP.
Скриншоты окна программы ClockSync до синхронизации (слева) и после (справа):
На скриншотах видно, что разница с точным временем оказалась достаточно маленькой, однако, бывают разные ситуации, у некоторых время на устройстве может даже плавать туда-сюда поскольку оператор не удосужился навести порядок у себя на БС.
Убедившись, что всё работает, настроим автоматическую синхронизацию в программе ClockSync. Для повышения точности я рекомендую включить опции «Режим высокой точности» и «Только через WI-FI». Если с первой опцией всё понятно из описания в программе (см. скриншот ниже), то вторую опцию я рекомендую включить в первую очередь не из соображений экономии мобильного трафика, а из-за того, что мобильный интернет не способен гарантировать хоть сколько-нибудь стабильные задержки.
Немного подробнее о точности:
Всё ещё распространённый мобильный интернет 2-го (GPRS/EDGE) в принципе не в состоянии обеспечить стабильные задержки при передаче. Даже интернет 3-го (3G) и, в некоторой мере, 4-го (LTE/LTE-advanced) поколений при сильной загрузке сети или каналов связи между БС, что является типичной ситуацией для крупных населённых пунктов, не может гарантировать стабильные задержки. Поэтому даже с аппроксимацией конечная точность установки времени может быть хуже долей секунд и даже легко достигать нескольких секунд.
Скриншот настроек автоматической синхронизации в ClockSync:
В связи с масштабными изменениями часовых поясов в РФ осенью этого года необходимо уже сейчас задуматься об актуализации информации о них на всех устройствах и если с поддерживаемыми настольными ОС проблем не возникает, то в Android даже самая свежая версия ОС содержит устаревшие данные. Для того чтобы в этом убедиться устанавливаем TimeZone Fixer и наблюдаем неприглядную картину.
Скриншот программы TimeZone Fixer, запущенной на Android 4.4.4 (прошивка Cyanogenmod от 4 августа 2014), на котором хорошо видно, что данные в прошивке неактуальные:
Немножечко здравого беспокойства и заботы о пользователях:
Автор программы TimeZone Fixer предупреждает нас, что обновление файлов данных о часовых поясах может полностью «сломать» устройство и даже даёт рекомендации о том как обезопасить себя от дополнительных проблем, хоть случаи проблем единичные и очень специфичные - это действительно хорошая забота о простых пользователях.
Только поэтому я и внёс этот кусочек в статью, он хоть и не имеет непосредственного отношения к проблеме, но это действительно хороший пример заботы о пользователях. В то же время предупреждение насчёт версий 4.3+ вызвано лишь малым количеством отзывов о программе для устройств с новыми версиями ОС, поэтому, пожалуйста, после использования обязательно напишите о́тзыв об этом приложении.
После обновления данных о часовых поясах программа предло́жит перезагрузится, однако, я рекомендую перезагрузить устройство самостоятельно через системное меню поскольку программа осуществляет перезагрузку фактически эквивалентную reset, что, пусть и с малой вероятностью, но может привести к проблемам и потери данных.
С удовольствием отвечу на любые вопросы или внесу дополнения, которые сообщество посчитает необходимыми, однако, хочется избежать перегруженности статьи дополнительной информацией, дабы придерживаться формата компактного руководства по решению конкретной проблемы.
UPD: Эта инструкция полностью решает проблему часовых поясов только для версий младше 4.4 . С версии 4.4 нужен дополнительный патчинг, пока вопрос находится на стадии исследования возможностей для создания юзер-френдли решения.
Настройка даты и времени в операционной системе Android - вещь несложная, но и с ней у пользователя в ряде случаев могут возникнуть затруднения. Они могут быть связаны как с незнанием некоторых вещей, так и со сбоями самой операционной системы.
Как настроить дату и время на Android
Правильные дата и время не только помогают пользователю быть более пунктуальным - мало кому захочется пропустить автобус из-за неверно выставленного времени - они также важны для работы некоторых приложений, которые при неверных данных могут начать сбоить и работать с ошибками. Поэтому выставлять правильные дату и время на устройстве строго рекомендуется.
Сам процесс настройки даты и времени в разных версиях Android примерно одинаков: разве что в новых устройствах система просит настроить данные сразу, ещё до начала использования приложений. Помимо этого, названия пунктов меню, отвечающих за время и дату, могут незначительно отличаться друг от друга в разных версиях ОС.
После этих нехитрых манипуляций дата и время должны измениться.
Видео: настройка времени и даты
Если возникают проблемы
Случается, что при настройке даты и времени происходят ошибки: не применяются изменения, свежеустановленные время и дата сбрасываются, а то и вовсе из «Настроек» выкидывает с ошибкой. Причин может быть множество, но самые частые из них таковы:
- у вас включена автосинхронизация времени, и поэтому попытки ручного изменения ни к чему не приводят. Чтобы отключить автосинхронизацию, нужно снять галочку с «Использовать дату и время сети» в настройках даты и времени;
- проблема связана с единичным сбоем в работе системы и должна прекратиться после сброса настроек или перезагрузки;
- брак в прошивке устройства - в таком случае, если вы не являетесь опытным пользователем, лучше всего будет обратиться к мастеру в сервисный центр, поскольку при попытке перепрошить устройство самостоятельно велик риск его повредить;
- произошёл конфликт часовых поясов телефона и SIM-карты (чаще всего такое случается с оператором Tele2).
Чтобы исправить проблему с конфликтом часовых поясов и SIM-карты, проделайте следующие действия:
Автосинхронизация даты и времени
Если вы не хотите настраивать время и дату вручную, то можете воспользоваться встроенной в Android функцией автоматической синхронизации времени с сетью. Или, если же важна максимальная точность, - её улучшенной версией, для реализации которой потребуются root-права.
Обычная автосинхронизация
Чтобы синхронизировать дату и время с данными сети, нужно отметить галочкой всего один пункт, находящийся в меню настроек «Дата и время». Обычно он называется «Использовать дату и время сети», но возможны также варианты «Автоматические дата и время», «Синхронизировать с сетью» и другие подобные.
После того как напротив этого пункта будет установлена галочка, дата и время на телефоне или планшете синхронизируются с данными сети и впредь будут определяться автоматически. Пока эта функция включена, ручная настройка даты и времени невозможна.
Когда отмечена галочка «Использовать дату и время сети», система сама сверяет дату и время с сетью«Умная» синхронизация
Стандартная синхронизация не отличается точностью и работает с погрешностью в среднем 500 миллисекунд (это примерно половина секунды). Связано это с тем, что при её создании использовались старые и довольно медленные протоколы передачи данных. В результате информация об актуальном времени попросту не успевает прийти вовремя и слегка запаздывает. Это приводит к погрешности, которую исправляют многочисленные приложения для «продвинутой» синхронизации времени.
Для нормальной работы приложениям необходимо вмешиваться в настройки Android, но по умолчанию у них такого права нет. Поэтому, чтобы провести умную синхронизацию, нужно иметь на своём устройстве права суперпользователя, или root-права. Впрочем, те приложения, которые наиболее продвинутые, с грехом пополам, но обходятся без них.
Алгоритм получения root-доступа уникален для каждой модели телефона, которых на данный момент сотни. Не существует общего способа, который позволял бы получить права суперпользователя на любом устройстве: даже самые популярные приложения для «взлома» root-прав действуют с ограниченным набором моделей, и подойдёт ли конкретное приложение вам - неизвестно. Для получения root-доступа на конкретном устройстве требуется ознакомиться с технической документацией по его рутированию на специализированном ресурсе.
Существует несколько приложений для смарт-синхронизации, и все они похожи друг на друга. Разберём работу с ними на примере приложения ClockSync.
ClockSync можно скачать с официальной страницы в Google Play. Однако это приложение - одно из самых ресурсоёмких и многофункциональных: например, в нём можно менять сервер, с которым сверяется время. Если вы не настолько продвинутый пользователь, то можете использовать какой-нибудь более простой аналог: например, Smart Time Sync.
Настройка часового пояса
Изменить часовой пояс, определённый на устройстве, можно в том же пункте настроек, «Дата и время». Строчка «Часовой пояс» позволяет изменить пояс, установленный по умолчанию.
У часового пояса так же, как и у даты со временем, есть параметр автосинхронизации. Можно включить его, если вы не уверены в знании собственных часовых поясов, но в старых версиях Android этот параметр иногда сбоит, поэтому там рекомендуется настраивать его вручную.
Чтобы синхронизировать часовой пояс с сетью, нужно включить параметр «Использовать часовой пояс сети»Какой именно часовой пояс используется в вашем регионе, можно узнать с помощью средств массовой информации по своему месту жительства, включая интернет. Московский пояс - GMT+3, в Санкт-Петербурге и средней полосе России также в основном используется он. В целом по России используются часовые пояса от +3 до +12.
Чтобы выбрать часовой пояс, нужно нажать на кнопку «Часовой пояс» и выбрать из огромного списка тот, что используется в вашем регионе. После этого время будет выставлено в соответствии с выбранным поясом.
Чтобы выбрать часовой пояс, просто найдите в списке нужный и нажмите на негоЧасовой пояс сбивается
Сбиваться часовой пояс может в нескольких случаях: или неправильно работающая автосинхронизация (в этом случае надо включить ручной выбор пояса), или неверно выставленный регион в настройках телефона или планшета.
Помимо этого, причиной сбоя может быть ошибка в базах данных. В таком случае поможет лишь одно из приложений для «умной» синхронизации, о которых уже было сказано; серверы, используемые ими, обычно определяют часовой пояс без ошибок. Однако для использования таких приложений требуется root-доступ. В настройках таких приложений существует пункт «Автосинхронизация», включение которого возможно только с «рутом». Если автоматическая синхронизация часовых поясов включена, пояс тоже будет определяться приложением автоматически - и делать это точнее, чем системное меню.
В главном меню настроек ClockSync и подобных приложений есть кнопка «Автосинхронизация часового пояса»Видео: «починка» часового пояса через приложение
Настраивать время и дату на Android просто - если от телефона не требуется максимальной корректности результата. Если же вы хотите, чтобы ваши часы были предельно точны, придётся постараться. В любом случае правильно определяемое время - ценная функция телефона, которая крайне важна для его нормальной работы.