Как установить часы автоматический на телефоне. Проблемы времени и часовых поясов в Android и пути их решения. Как выбрать, настроить или добавить новый часовой пояс

Не секрет, что российские законодатели, особенно те, что сидят в нижней палате парламента, ребята очень активные и хоть зарплату им не плати, но дай понавыпускать различных нормативных актов. Так вот, летом 2014-го года парламентарии взяли и приняли очередной закон о замене часовых поясов на территории Российской Федерации. В каких-то регионах часовой пояс не поменялся, а в каких-то он сменился на новый. Но, многие производители электроники были не готовы к такому повороту, что осенью время вдруг взяло и поменялось.

Не готовы к подобному радикальному шагу были и в компании Samsung. Так как даже для своего флагмана S5 Samsung не позаботился о выпуске своевременного обновления к прошивке с поправленной часовой зоной. Например, в Москве, часовая зона с GMT+4 была переведена на GMT+3. Чем сей перевод чреват для пользователей? А тем, что сразу же нарушается стройный распланированный ход жизни владельца. Все напоминания, все встречи и даже записи в журнале звонков, в мгновение ока перемещаются в пространстве-времени и угадать, на какое нужно ставить время напоминание, что бы оно сработало именно тогда, когда нужно может не каждый обладатель красного диплома престижного вуза. А, что уж говорить о других?

И пока Samsung тормозит с выпуском обновления, попробуем самостоятельно разобраться, что нужно сделать с телефоном продать и купить Nokia или iPhone , что бы он нормально отображал время и с нужным часовым поясом.

Вариант 1. Автоматический.

Вариант 2. Прикинуться шлангом.

В случае же, когда сотовый оператор настолько безалаберный, что не предоставляет надежного сервиса в отношении времени своим абонентам, то стоит вообще подумать, насколько целесообразно продолжать платить такому оператору. Ну, а пока идут размышления, необходимо вручную установить актуальную часовую зону в телефоне.

Для этого, необходимо отключить функции получения времени, даты и часовой зоны от мобильного оператора. Для этого необходимо зайти в настройки телефона, далее в системные настройки и выбрать пункт «Дата и время». Тут снимаем галки с «Автоматического определения времени» и с «Автоопредел. часового пояса». А далее, в меню выбора часового пояса выбираем часовой пояс местности где, во-первых нет перехода на зимнее или летнее время, а во-вторых действует нужная часовая зона.

Поскольку для Москвы по-новому действует зона GMT+3, а по умолчанию в телефоне для Москвы жестко прошита зона GMT+4, то для того, что бы время вернулось в нормальное русло, придется выбрать, например Минск, у которого временная зона соответствует с нужными для Москвы значениями. Для других регионов действовать нужно аналогичным образом.

И этот способ подмены временной зоны самый верный и самый безопасный до тех пор, пока для телефона не будет выпущено нормальное обновление прошивки, в которой данная проблема решена производителем. Хотя чисто эстетически при использовании чужой временной зоны не все чисто. Например, при отправке приглашения календаря с телефона, его получатель может быть обескуражен тем, что вы находитесь в часовой зоне Белоруссии.

Другие варианты подходят только для продвинутых пользователей, поскольку могут с легкостью превратить ваш новенький S5 лишь в кучку кремния, стекла и пластика. Я предупредил.

Вариант 3. Для джидаев.

Если вы настоящий компьютерный энтузиаст, то наверняка на вашем телефоне уже получен рут-доступ. Если вы не знаете, что это такое, то дальше можно и не читать.

В систему Android, заточенной для использования по всему миру, не только встроенна настоящая многоязычность, но и возможность использования телефона с любой временной зоной. Обычно часовые пояса достаточно постоянны и не меняются десятилетиями. И именно по этой причине, все данные о наименованиях часовых поясов, а также их смещениями от нулевого часового пояса занесены в специальную базу данных расположенную в защищенном разделе внутренней памяти телефона. И изменить её можно только либо посредством обновления всей прошивки целиком, либо получив рут-доступ изменить только данные непосредственно в этой базе данных.

Итак, рут-доступ в наличии и для того что бы заменить данные в базе данных с часовыми поясами на телефоне необходимо использовать бесплатную программу TimeZone Fixer . При запуске, программа определяет текущую версию установленной на телефоне базы данных и при необходимости производит обновление имеющихся в ней значений. После завершения работы, необходимо перезагрузить телефон. Конечно, изменить базу данных можно и при помощи других программ, доступных также с Google Play, равно, как и провести все манипуляции полностью самостоятельно используя лишь стандартный инструментарий.

После перезагрузки, в списке часовых зон наконец-то появляется искомая зона для Москвы GMT+3, и правильные зоны для других регионов. Выбираете нужный (свой) регион, предварительно не забыв отключить автоматическое обновление времени и часового пояса из сотовой сети. И вроде бы все должно исправиться и наладиться но, увы, Galaxy S5 работает на системе Android 4.4.x, а именно в семействе этих систем, ради красоты или каких-то других целей, временные зоны прописались еще в одном месте. Возможно, что аналогичное поведение будет сохранено и во всех последующих версиях Android.

Теперь, время и временная зона на телефоне отображаются верно, а вот события в Google Calendar, время звонков в журнале и SMS в папке с SMSками отображаются неверно. Используется старая часовая зона. Все дело в том, что необходимо поменять еще один файл, в котором по воле не совсем грамотных разработчиков системы, хранятся альтернативные значения для временных зон. Что бы исправить и это, необходимо сделать следующее:

А. Скопировать файл, расположенный по адресу /system/usr/icu/icu51dt.dat с телефона на компьютер или на SD карточку телефона. Сделать это можно, например, при помощи Root Explorer или аналогичной программы. Учтите, что файл достаточно объемный, порядка 18 мегабайт.

Б. Полученный файл загрузить на страничку сайта одного из фанатов операционной системы и дождаться окончания обработки. Скачать обработанный файл обратно. Если сайт недоступен, то необходимо поискать уже обработанные файлы именно под ваш телефон, либо попробовать разобраться самостоятельно с инструментарием ICU .

В. Скопировать скачанный обработанный файл с сайта обратно в /system/usr/icu/icu51dt.dat. Убедиться, что права доступа для всех групп установлены как минимум в режим чтения. Перезагрузить телефон.

Г. Наслаждаться правильной часовой зоной, отсутствием сдвига времени в календаре, звонках и SMS-ках.

Послесловие

Вообще, термин GMT (Greenwich Mean Time) несколько устарел. Дело в том, что время по Гринвичу уже давно никто не измеряет. Кончилось время Британской империи, кончился и GMT. Нынче мерилом начала отсчета принято использовать UTC. Хотя для бытового применения разница существует только в наименовании стандартов.

С другой стороны, поведение как производителей, которые кидают своих потребителей на произвол судьбы, так и сотовых операторов, которые из года в год плюют на своих абонентов, не соизволяя настроить свои сети с целью выдачи верного времени и верной временной зоны, просто возмутительны и достойный порицания. Особенно это относится к компаниям, которые насильно защищают свои телефоны всевозможными системами защиты, каковые не позволяют пользователям изменять системные параметры своих телефонов.

Синхронизация времени на Андроид – вещь, безусловно, очень важная. Именно от точности часов мобильного устройства зачастую зависит наше восприятие окружающими. Ведь многие из нас давно уже отдали предпочтение гаджетам в плане определения текущего времени.

Поэтому, в сегодняшней статье мы будем учиться приходить вовремя на важные мероприятия, а поможет нам в этом приложение ClockSync.

Приложение для синхронизации времени на Android: Видео

Установка приложения ClockSync

Разработчики позиционируют свой продукт как программу совершенно бесплатную, но требующую для полноценной работы ROOT-доступ. ClockSync доступна для загрузки по адресу .

Как и должно быть у представителей лицензионного программного обеспечения, перед установкой, приложение запросит у вас определенные права, необходимые ей для успешного функционирования.

Получив указанные разрешения, ClockSync инсталлируется в память мобильного устройства и будет терпеливо ожидать дальнейших действий пользователя.

Синхронизация устройств на системе Android с ПК: Видео

Настройка приложения ClockSync

Итак, давайте запустим программу и проверим отклонение текущего времени на мобильном устройстве от времени на серверах синхронизации.

Как видите, отклонение есть, пусть и небольшое. Разница во времени указана в строке “Смещение”. Следовательно, часы гаджета надо немного подстроить. Но перед этим предлагаем вам ознакомиться с теми возможностями, которые предлагают нам разработчики ClockSync. С помощью контекстного меню открываем настройки приложения.

Прежде всего, мы советуем вам включить автоматическую синхронизацию времени, отметив галочкой соответствующий пункт. Обращаем ваше внимание на то, что пользователю дается право самостоятельно указывать сервер синхронизации. Но делать это стоит только в том случае, если вы абсолютно уверены в своих действиях.

Разработчики учли предыдущие пожелания интернет-сообщества и снабдили ClockSync возможностями записи выполненных операций – вы в любой момент можете просмотреть журнал работы программы в пункте “История и статистика”.

Двигаемся далее. Опция “Определять часовой пояс”. Это может пригодиться тем из вас, кто много путешествует. Зачем тратить личное время на корректировку часов при перелете из одной страны в другую? Пусть этим занимается “сообразительный” гаджет!

Как мы отмечали уже в начале статьи, ClockSync настоятельно просит у пользователя root-доступ, но приложение вполне неплохо справляется со своими обязанностями и без него. Достаточно лишь указать необходимый режим работы в настройках программы.

Ну, а в самом конце списка возможностей – чисто косметические пункты: стоит ли оповещать вас о том, что время синхронизировано или нет, стоит ли отключать экран устройства во время работы программы, в какую цветовую гамму окрасить приложение и так далее.

На этом краткий обзор настроек ClockSync мы и завершим. Пришло время синхронизировать наши мобильные часы. Переходим на основной экран программы и видим, что смещение по времени никуда не делось. Открываем вспомогательное меню и выбираем пункт “Синхронизировать”.

В виду того, что наше устройство “рутировано”, приложение запросит разрешение на получение неограниченного доступа к системным функциям. Разрешаем.

Может сбиваться время , является питание устройства от аккумулятора. Например, для замены SIM-карты большинство моделей телефонов требуется не только , но и вытаскивать аккумулятор. При определенном времени его отсутствия в телефоне происходит сброс различных настроек, в том числе и времени. В некоторых моделях такая же ситуация наблюдается и при вытаскивании карты памяти.Иногда аккумулятора с ослабевает, например, это может случиться при падении. В этом случае также существует большая вероятность того, что настройки времени собьются. Другой вариант – старый аккумулятор, который быстро теряет заряд. Решить проблему поможет его замена.Другой возможной причиной сброса на телефоне времени является неправильная настройка . Чтобы ее , откройте меню , затем раздел «Настройки» и выберите соответствующий пункт. Заметьте, что одной из причин также может являться законодательная отмена перехода в России на зимнее время с осени 2011 года. В тех телефонах, в которых было установлено автоматическое переключение между летним и зимним временами, переход был произведен. Отключите эту настройку, чтобы в будущем она не вызывала дополнительных проблем. Также решением может стать обновление прошивки мобильного устройства.Если вы пользуетесь программой для синхронизации телефона и компьютера, причина может крыться во включенной опции синхронизации времени. Чтобы ее , запустите программу, откройте ее настройки, найдите соответствующий пункт и снимите напротив него галочку, после чего сохраните изменения.В некоторых моделях телефонов также осуществляется времени при подключении к . Отключите данную опцию в настройках телефона.

Отображение точного времени на компьютере осуществляется с помощью специальной микросхемы, питание которой обеспечивает электросеть при включенном компьютере и небольшая батарейка в выключенном состоянии. Причины появления сбоев в отображаемом времени обычно одинаковы для каждого компьютера.

Неполадки в оборудовании

Первоочередная причина того, что при включении компьютера и загрузки системы отображается неправильное время – вырабатывание ресурса батарейкой в корпусе, из-за чего компьютер становится неспособным поддерживать верный ход времени после своего выключения. Батарейку необходимо заменить. Для этого выключите компьютер из сети и отсоедините кабель питания от системного блока. Открутите винты, которые удерживают боковую крышку устройства, и вытащите саму крышку. Найдите батарейку и, отогнув крепление, извлеките ее. Поместите в корпус новую батарейку. Обычно достаточно аккумулятора мощности 3В.

Убедитесь, что блок питания компьютера является достаточно мощным. В некоторых случаях из-за неправильного выбора данного элемента, компьютер может работать со сбоями, из-за чего начинает отображать неправильное время.

Если даже после замены батарейки время по-прежнему выставляется неправильно, обратитесь к техническим специалистам: возможно проблема заключается в устаревшей материнской плате, которая вышла из строя либо конфликтует с более новым оборудованием.

Неполадки с операционной системой

Убедитесь, что вы правильно выставили часовой пояс. Обычно данные настройки вводятся при установке системы, но и впоследствии их можно выставить, кликнув два раза левой кнопкой мыши по часам в правом нижнем углу экрана и перейдя на вкладку «Часовой пояс». Помните, что при установке неверного часового пояса система будет автоматически ставить соответствующее ему время.

Причиной неправильного выставления времени системой могут быть вирусы. Проверьте жесткий диск компьютера и съемные носители антивирусной программой и удалите все найденные вредоносные объекты.

Обратите внимание, включена ли в настройках времени синхронизация времени с интернет-сервисами. Желательно выставить в качестве источника времени сайт компании Microsoft. В этом случае оно станет точным и будет автоматически корректироваться при каждом подключении к интернету.

Проверьте, не сбивает

Вспомнил, что вместе с коллегой по работе уже давно решил эту проблему на Android (HTC Hero) и хотел написать в песочницу, но все откладывал на потом. А сегодня появилась очередная статья «Обновление временных зон на Android» практически похоронившая идею написания и, подтвердившая идею, что не надо откладывать важные вещи на потом. Но… немного повспоминав, я всё-таки решился, потому что в данных статьях рассматривалась проблемы связанные с переходом на зимнее/летнее время и совсем не затрагивался момент касающийся работы виджета часов с погодой и автоматического определения времени через оператора сотовой связи.

Все началось с того, что был приобретен новый телефон HTC Desire S.

В процессе настройки выяснилось, что в настройках даты и времени нет возможности выбрать мой город - Новосибирск и приходиться выбирать альтернативный город с подходящим часовым поясом.
Так же выяснилось, что синхронизация времени от оператора работает как-то загадочно и виджет HTC Clock в режиме отображения погоды и включенной автоматической синхронизацией отображает некорректное время.

На картинке может показаться, что всё в порядке, однако время на самом деле на телефоне убежало на час назад. Можно отключить автоматическое определение и выставит зону руками, но тогда получим следующее:

Как видно, Новосибирск в списке отсутствует. Нам пришлось выбрать Bangkok, при этом системное время в телефоне стало правильным, но виджет отображает по-прежнему со смещением на час назад.

Попробовали найти решение в сети. Обнаружили что мы не одиноки, причем подобные проблемы существуют не только у жителей Новосибирска, но и у жителей других городов планеты. Комплексного решения всех указанных проблем мы не обнаружили.

Можно было на все это забить, отключить, выставлять руками и не обращать внимания на виджет, но… это же Android - а это значит, что мы можем и должны его победить!

И так, мы начинаем
Новый телефон был на тот момент не рутованый и сделать его таковым не представлялось возможным. Поэтому для экспериментов был взят HTC Hero с оригинальной прошивкой + root/busybox/apps2sd, на котором были точно такие же проблемы.

Нашли через osmonitor приложение, в котором выбирается часовой пояс - (com.android.settings). Посмотрели исходники пакета com.android.settings и выяснили, что ресурсы загружаются из XML файла timezones.xml .

Достали apk этого приложения /system/app/Settings.apk следующей командой:
adb pull /system/app/Settings.apk

Не стану описывать все подробности работы APK manager и Android SDK tools, думаю, заинтересованные люди легко разберутся. Остановлюсь только на ключевых моментах.

С помощью APK manager произвели следующие действия

  • decompile
  • ручками в другом окне отредактировали файлы
  • compile. При компиляции APK manager задает вопросы:
    «Is this a system apk (y/n)» – отвечаем yes
    «Aside from the signatures, would you like to copy over any additional files that you didn"t modify from the original apk in order to ensure least # of errors (y/n)» -тоже отвечаем yes.
    Далее действуем по предложенной APK manager-ом инструкции, в другом окне удаляем из директории keep файлы, которые мы изменили + resources.arsc.
  • Завершаем сборку.
Мы сделали изменения для своего города, по аналогии жители других городов тоже смогут попробовать устранить данную проблему на своих телефонах.

Получившийся apk поместили обратно в телефон:
adb push Settings.apk /system/app/

Этим мы добились того что в списке ручного выбора временной зоны появился Novosibirsk.

Наш город появился в списке, но определение временной зоны в автоматическом режиме по-прежнему работало неверно. Для этого мы пошли дальше и выяснили что, настройки временных зон для городов хранятся в базе данных, а именно в файле /system/etc/WPDB.zip.
Достав его из телефона с помощью всё того же adb, мы извлекли из него две базы

  • WP_0409WWE.db
  • WP_0419RUS.db
для английского и русского языков соответственно. Посмотрев на данные, мы обнаружили, что для нашего города, временная зона прописана как Asia/Almaty, пришлось поправить и этот момент, для этого в базах поменяли timezoneId на Asia/Novosibirsk (использовали Lita в качестве редактора SQLite database):
update locationlist set timezoneId = "Asia/Novosibirsk" where name = "Novosibirsk" -- (для WP_0409WWE.db) update locationlist set timezoneId = "Asia/Novosibirsk" where name = "Новосибирск" -- (для WP_0419RUS.db)
Кроме того, еще в одну базу добавили запись о нашем городе, а именно в /system/etc/timezones.db
Добавили запись, timezoneId: Asia/Novosibirsk, остальные поля Novosibirsk, ru – Новосибирск.

Для того чтобы все сделанные изменения вступили в силу, сбросили кэш для приложений
Clock, Settings и Weather Provider. Ну и для полной уверенности перезапустили телефон.

Итоги

В результате получили вот такие пироги:

Как мы видим, в автоматическом режиме зона определяется корректно, системное время и время на виджете одинаковое, ну и в ручном режиме все в порядке.

Ввязавшись в войну со временем, мы решили идти до конца. А именно решить и проблему отмены перехода на зимнее/летнее время.
Скачали самую свежую tzdata (aka timeinfo.dat) с, тогда еще доступного, ресурса

О том, что часы в мобильном отстают узнаешь, как правило, когда куда-то опоздал, примеру, на поезд. В XXI веке неприемлемо когда ваши часы спешат или отстают больше чем на минуту.

И если к наручным часам претензий нет, то смартфоны просто обязаны показывать точное время. Но как показывает практика — это не всегда так. Часы на телефонах такие же «брехучие» как и старые ходики у бабушки в деревне.

Чем определяется точность электронных часов

В первую очередь точностью настройки и стабильностью кварцевого генератора (резонатора). Точность и стабильность частоты последнего как правило составляет 10 -6 . В идеале при таком значении часы убегают чуть более 30 секунд в год.

На практике стабильность немного хуже, так как на частоту резонатора влияют параметры окружающей среды (температура, давление) и напряжение питания генератора. Так же в состав генератора входят и другие элементы, к примеру конденсаторы, параметры которых сильнее зависят от внешних воздействий. В результате часы могут убегать до 30 секунд в месяц.

Повышаем точность часов

В профессиональных устройствах, например в приемо-передающей аппаратуре спутникового телевидения, стабильность генераторов намного выше и может достигать значений 10 -12 .

Поэтому напрашивается сам собой способ взять за эталон частоту несущей внешнего источника сигнала. И использовать ее как опорную для нашего генератора. Возможны два пути: аппаратный и программный.

В первом случае частота генератора часов подстраивается под частоту несущей передающей вышки GSM. Во втором случае базовая вышка GSM передает сигналы точного времени и операционная система подстраивает часы.

Но как показывает отечественная действительность, на сотовых операторов надежды нет. Я несколько раз попадал в ситуацию, когда время на часах перескакивало на несколько часов. После чего пришлось отключить опцию использования данных предоставляемых сетью.

Серверы точного времени

Так как смартфон это компьютер с доступом в интернет, то проще всего синхронизировать часы с эталонными серверами точного времени. В стандартных прошивках этой возможности нет. Но проблема решается установкой допольнительного ПО. Программ таких несколько, и мне приглянулась одна — ClockSync от «отечественного производителя»:-).

ClockSync синхронизирует системное время Android устройства через Интернет по протоколу NTP с серверами точного времени. Программа полезна если оператор сотовой связи не поддерживает NITZ (автоматическую синхронизацию времени) или посылает неверные значения, а также в случае, если часы телефона сильно убегают вперед или отстают.

Работает на планшетах. Актуально если нужно точное время. Тем более на устройствах без GSM модуля.




Top