Почему сбивается время на телефоне андроид. Что делать, если на телефоне Android постоянно сбивается время и дата. Как настроить время в «IOS»

  • 06.11.2019

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

Многие выбирают его из-за того, что он многофункционален. Кому-то просто не нравятся телефоны Apple. Кто-то же предпочитает телефон с Android, потому что у него нет возможности купить Apple.

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

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

Что такое Android?

Для начала предыстория. Что же такое Android? Это операционная система, которая была создана на базе ядра ОС Linux. Он имеет хорошее подключение, однако не имеет синхронизации с NTP. То есть, часовые пояса не синхронизируются. Отсюда и ответ на вопрос "почему сбивается время на телефоне?"

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

Следующая версия - Android 4.1, полностью изменила получение данных о часовых поясах. Они вернулись к "корням". Старые телефоны брали информацию о времени из вышек сотовой связи.

Почему у вас сбивается время на телефоне? Возможно, проблемы с сотовой связью.

Для обладателей планшетов на Android все еще хуже. Эти мобильные устройства не могут синхронизировать время без специального модуля связи.

Почему сбивается время на телефоне с "Андроидом"? Способы решения

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

Как мы уже говорили, в стандартном OC Android нет синхронизации с сервером NTP. Значит, мы должны установить стороннее приложение, которое будет выполнять данную функцию. Хорошим вариантом является ClockSync.

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

Скачав это приложение, вы больше не будете спрашивать себя о том, почему на телефоне постоянно сбивается время

Установка синхронизации с помощью ClockSync

Нужно настроить автоматическую синхронизацию с NTP. Чтобы повысить точность синхронизации, рекомендуем включить следующие настройки - "Только через Wi-Fi" и включить "Режим повышенной точности". Самое главное - включить первую опцию, так как она обязательна из-за нестабильности мобильного интернета.

А для экономии энергии мобильного телефона следует активировать функцию "При включении".

Заключение

Итак, теперь вас не будет мучить вопрос: "Почему сбивается время на телефоне?". А даже, если он и появится, что маловероятно, вы знаете ответ и решение.

Довольно частая проблема, когда сбрасываются часы и дата на телефоне под управлением Android. Чаще всего с ней сталкиваются обладатели старых устройств. Причин возникновения много, но все они связанны с уязвимостью в виде неспособности восстанавливать данные о состоянии времени.

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

Вот основные причины, по которым смартфон может терять дату и время, и возвращается на заводской вариант, установленный производителем ещё на стадии создания программной части на заводе:

  • Часто перезапускается сам по себе, либо вы его каждый раз неосторожно перезапускаете, либо прерываете на долгое время;
  • Аккумулятор иногда вынимается. Телефон выключается при падении или каким-либо ещё силовым воздействиям, которые доводят его до неработоспособности;
  • Память не способна выдержать дату из-за вирусов.

Способы решения проблемы

Для решения ошибки с постоянным сбросом даты и времени на Андроид смартфоне можно сделать следующее:

  1. Включить автоматическую настройку даты и времени через интернет;
  2. Выключить регулярное выключение смартфона на ночь, если такая опция присутствует и активна;
  3. Обезопасить смартфон от падений и неожиданных выключений.

Включение автоматической настройки даты и времени через интернет

Для включения автоматической настройки состояния времени на смартфоне сделайте следующие действия:

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

Иногда случается, что часы на андроид телефоне или планшете показывают неправильное время. Причем вы точно помните, что правильно выставляли время и никто не мог его поменять. Как это происходит и почему на андроид сбиваются часы. К счастью, существуют всего две причины по которым это могло произойти. Либо у вас стоит неправильный часовой пояс, либо у вас оператор сотовой связи предоставляет неверную информацию. Последнее случается, когда сим-карта была приобретена в другом городе и для неё действуют настройки сети для другого региона. Чтобы проверить и при необходимости исправить это надо сделать следующее. Прежде всего, зайди в настройки вашего телефона и выберите раздел «Дата и время».

На поздних версиях андроидах (4.1+) появилась функции автоматического определения даты и времени. Эту информацию предоставляет оператор вашей сотовой связи. К примеру, у меня и время и дата определена правильно.

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

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

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

Зайдите в настройки своего смартфона (в нашем примере — Samsung).

Найдите раздел «Дата и время». Если не нашли, воспользуйтесь поиском по ключу время .

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

После этого пункты «Установить дату» и «Установить время» станут активными. Дату вряд ли нужно изменять, чего не скажешь о времени. Нажмите на строку «Установить время».

Задайте время и нажмите ОК.

Можете указать свой часовой пояс, если выбран иной.

Больше ничего делать не нужно.

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

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

Вспомнил, что вместе с коллегой по работе уже давно решил эту проблему на 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) с, тогда еще доступного, ресурса