Плавает или неверно отображается время на смартфоне Андроид

Оглавление

Настройка часового пояса

Изменить часовой пояс, определённый на устройстве, можно в том же пункте настроек, «Дата и время». Строчка «Часовой пояс» позволяет изменить пояс, установленный по умолчанию.

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

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

Часовой пояс сбивается

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

Помимо этого, причиной сбоя может быть ошибка в базах данных. В таком случае поможет лишь одно из приложений для «умной» синхронизации, о которых уже было сказано; серверы, используемые ими, обычно определяют часовой пояс без ошибок. Однако для использования таких приложений требуется root-доступ.
В настройках таких приложений существует пункт «Автосинхронизация», включение которого возможно только с «рутом». Если автоматическая синхронизация часовых поясов включена, пояс тоже будет определяться приложением автоматически — и делать это точнее, чем системное меню.

Видео: «починка» часового пояса через приложение

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

Есть несколько причин появления этой “временной аномалии” в планшете. И поверьте, если время сбивается, так это вряд ли от того, что планшет разучился считать.

Список основных причин, почему так бывает, и способы решения

    1. Вы выключаете планшет на ночь, например, для экономии заряда. Очень распространенная причина, и единственный способ заставить время работать правильно — прекратить без весомой причины выключать планшет. Это ж не ноутбук, и не телевизор.
    2. Если у вас планшет оборудован 3G модулем, и в него вставлена сим-карта, вспомните, где вы покупали симку. Возможно, вы покупали карточку в другом регионе, где другой часовой пояс. И если у вас в настройках стоит галочка “Дата и время сети”
      , это означает, что на планшете выставляется время, заданное настройками оператора в том регионе, где покупалась SIM-карта. Решение — снять эту галочку, и выставить время вручную.

  1. “Плохая” прошивка. Если вы баловались с перепрошивкой планшета, вполне возможно, что установленная вами прошивка содержит какой-то баг. Решение — прошейтесь официальным программным обеспечением.
  2. Проблемой может быть и сам аппарат. Говорят, что у китайских планшетах завихрения со временем — довольно частое явление. В борьбе с этим недугом поможет приложение ClockSync (требует ROOT права для работы). Эта программа позволит настроить автоматическую синхронизацию времени через интернет, главное в настройках даты и времени снимите галочку с пункта “Часовой пояс сети”, и поставьте правильный часовой пояс, соответствующий вашему региону.

Начинающие пользователи современных смартфонов часто задаются вопросом: как на Андроиде установить время и дату?

Но, как правило, для ответа на этот вопрос не требуется каких-то особых знаний, поскольку сделать это можно легко и просто, тем более, если вы не впервые держите в руках гаджет. Итак, как поменять дату на телефоне с Android?

Виджеты с часами

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

Прозрачные часы и погода

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

наличие разных красивых и информативных виджетов размеров 2×1, 4×1-3, 5×3;
широкий выбор тем оформления, обложек, шрифтов;
отображение помимо точного времени другой важной информации — о погоде, направлении ветра, влажности и давлении, заряде батареи, календарных событиях и т. д... Если владельцу девайса не нужны все эти данные, предоставляемые утилитой по умолчанию, он может удалить их в настройках и оставить просто часы

Для этого:

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

  1. Нажмите пальцем по отображению времени на экране, что откроет окно настроек.
  2. Перейдите в раздел «Оформление», затем в «Расширенные настройки».
  3. Снимите галочки напротив пунктов отображения информации о текущем местоположении, системной информации, заряде батареи и отметьте чекбокс рядом со строчкой «Скрыть погоду».

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

Sense Flip Clock & Weather

Этот часовой виджет отображения времени и даты подойдет пользователям, которым нравятся часы в стиле Flip Clock с перелистывающимися страницами. Особенности утилиты:

  • выбор виджетов разных размеров — 4×1, 4×2 и 5×2;
  • реализована анимация перелистывания;
  • выбор различных скинов и отображения значков;
  • местоположение определяется автоматически, что позволяет сообщать пользователю наиболее точный прогноз.

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

Возможные проблемы при настройке времени и их решения

После установки новых параметров времени вы можете столкнуться с двумя проблемами:

  • настройки времени постоянно сбрасываются;
  • на экране устройства появилась запись «В приложении Настройки произошла ошибка».

Исправить эти недоразумения вам помогут следующие способы.

Перезагрузка

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

Автосинхронизация

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

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

Сброс настроек до заводских

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

Ручная настройка

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

Вообще, ручная настройка на Андроиде необходима для тех пользователей, у кого отсутствует интернет. Именно при отключённом от сети устройству показатели сбиваются на смартфоне и её нужно выставлять вручную. Итак, как поменять дату в Galaxy S Plus, например, или же в любом другом смартфоне на платформе андроид? Для этого есть два метода:

  1. Опускаем шторку уведомлений и находим в правом верхнем углу значок шестерёнки.
  2. Заходим в главное меню смартфона и находим там тот же знак с надписью Настройки.

Далее необходимо найти раздел под названием Дата и время

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

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

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

И также как с часовым поясом, которым балуются наши соотечественники, власти играются и с вариантами отображения времени. То есть 12-часовой вариант формата или 24. Его вы также сможете изменить, сняв галочку с автоопределения и выбрав тот вариант, который вам нужен. На некоторых моделях Андроида также можно выбирать и варианты показа времени. Как правило, чаще всего на главном и заблокированном экране дата показывается как день/месяц/год. Но вы всегда сможете изменить способ показа, зайдя в настройки и изменив это точно так же, как меняете и время.

Вам обязательно стоит прочитать о том, как очистить кэш на моделях Андроид.

Сбивается время на андроиде, что делать

Время всё время уходит на 2 часа вперёд, сегодня проснулся в 4 утра по будильнику хотя должен был спать до 6, и вот опять время убежало вперёд.

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

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

Стоит и посмотреть, каким образом задано время. Оно может стоять так, как это задал пользователь, или же данные о времени смартфон получает из сети. Заходим в Настойки — Параметры даты и времени. И смотрим, стоит ли галочка около Автоматического определения. Если да, то убираем ее. Если нет, то пробуем поставить. И отслеживаем, что там.

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

Устанавливаем самое точное время и точную дату

Теперь вы знаете, как поменять дату в Android – для этого необходимо посетить настройки системы и воспользоваться пунктом «Дата и время». Установка данных осуществляется в Android в ручном или автоматическом режимах. Если хочется получить максимально точное время, следует выбрать автоматическое определение.

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

Здесь мы найдем:

  • Автоматическую установку времени с root-правами;
  • Автоматическую установку времени без root-прав;
  • Режим высокой точности;
  • Выбор сервера для синхронизации времени;
  • Установку интервала запроса точно времени;
  • Режим экономии заряда батареи;
  • Детальную статистику;
  • Базу часовых поясов (будет полезна для старых смартфонов);
  • Автоматическое определение часового пояса;
  • Функцию обновления системных данных о часовых поясах.

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

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

Из-за неправильно выставленного числа могут происходить следующие сопутствующие неполадки:

  • Пользователь не может зайти в магазин приложений;
  • Установка программ невозможна из-за сбоя даты;
  • Неполадки при получении звонков и сообщений.

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

Кстати, Вас могут заинтересовать еще статьи:

  • Почему не работает Play Market (плей маркет) – 12 способов решить проблему
  • Как восстановить удаленные файлы на Андроиде — Надежные способы

Если возникают проблемы

Случается, что при настройке даты и времени происходят ошибки: не применяются изменения, свежеустановленные время и дата сбрасываются, а то и вовсе из «Настроек» выкидывает с ошибкой. Причин может быть множество, но самые частые из них таковы:

  • у вас включена автосинхронизация времени, и поэтому попытки ручного изменения ни к чему не приводят. Чтобы отключить автосинхронизацию, нужно снять галочку с «Использовать дату и время сети» в настройках даты и времени;
  • проблема связана с единичным сбоем в работе системы и должна прекратиться после сброса настроек или перезагрузки;
  • брак в прошивке устройства — в таком случае, если вы не являетесь опытным пользователем, лучше всего будет обратиться к мастеру в сервисный центр, поскольку при попытке перепрошить устройство самостоятельно велик риск его повредить;
  • произошёл конфликт часовых поясов телефона и SIM-карты (чаще всего такое случается с оператором Tele2).

Чтобы исправить проблему с конфликтом часовых поясов и SIM-карты, проделайте следующие действия:

  1. Для начала сохраните важные данные со своего телефона в другое место, иначе они сотрутся.
  2. Затем вытащите сим-карту и проведите сброс настроек, чтобы вернуть телефон к первоначальному состоянию. Обычно эта возможность находится в меню «Настройки» — «Восстановление и сброс» и осуществляется нажатием кнопки «Сброс настроек». Ни в коем случае нельзя проводить сброс на устройствах с root-правами: это опасно и может уничтожить вашу прошивку.
  3. Теперь отключите автоматическое определение часового пояса в настройках даты и времени. Для этого снимите галочку с пункта «Часовой пояс сети».
  4. После этого укажите свой часовой пояс. Иногда для корректной работы нужно поставить не стандартное московское время GMT+3, а часовой пояс Брюсселя (GMT+2).
  5. Теперь можно вставить SIM-карту обратно и ещё раз попробовать изменить дату и время.

Настройка времени и сегодняшнего числа средствами системы

Чтобы изменить параметры даты и времени, запустим средство управления настройками системы – приложение «Параметры
».

Перейдем в раздел «Дата и время
». Опции, которые нас интересуют, находятся здесь. А именно:

  • Автонастройка времени и числа.
  • Автонастройка часового пояса.
  • Установка даты вручную.
  • Ручной выбор часового пояса.

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

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

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

Или активируйте «Автоматическую синхронизацию часового пояса по сети
», как показано на скриншоте ниже.

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

После этого зайдите в раздел «Установка даты
»:

И отметьте в календаре сегодняшнее число. Или любое другое. Для сохранения нажмите «Установить
».

Если нужно, проделайте эту же операцию со временем.

Как выбрать, настроить или добавить новый часовой пояс

Чтобы узнать часовой пояс своего региона, зайдите на сайт http://www.gmt.su/city-time/country/Россия/ и найдите в списке ближайший к вам город. Справа страницы вы увидите данные о часовом поясе. Например, в Калининграде это GMT +02:00. Эту информацию вам и нужно будет выбрать в настройках своего телефона.

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

Автосинхронизация даты и времени

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

Обычная автосинхронизация

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

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

Когда отмечена галочка «Использовать дату и время сети», система сама сверяет дату и время с сетью

«Умная» синхронизация

Стандартная синхронизация не отличается точностью и работает с погрешностью в среднем 500 миллисекунд (это примерно половина секунды). Связано это с тем, что при её создании использовались старые и довольно медленные протоколы передачи данных. В результате информация об актуальном времени попросту не успевает прийти вовремя и слегка запаздывает. Это приводит к погрешности, которую исправляют многочисленные приложения для «продвинутой» синхронизации времени.

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

Существует несколько приложений для смарт-синхронизации, и все они похожи друг на друга. Разберём работу с ними на примере приложения ClockSync.

  1. Включите приложение. После загрузки оно показывает нам время, выставленное на устройство, по сравнению с точным временем, которое считывается со специального сервера. Разница составляет примерно 20 с.
  2. Вызовите контекстное меню приложения и выберите «Синхронизировать». Если телефон или планшет рутирован, приложение попросит вас дать ему право вмешаться в работу системы. Нажмите «Предоставить».
  3. Если рут-доступа на телефоне нет, то перед синхронизацией зайдите в настройки приложения (вход в них находится там же, в контекстном меню) и выберите режим работы «без root». В нём могут быть ограничены некоторые функции, но зато не требуется прав суперпользователя.
  4. После синхронизации промежуток времени между актуальным временем и временем на устройстве должен сократиться до 0 миллисекунд.

ClockSync можно скачать с официальной страницы в Google Play. Однако это приложение — одно из самых ресурсоёмких и многофункциональных: например, в нём можно менять сервер, с которым сверяется время. Если вы не настолько продвинутый пользователь, то можете использовать какой-нибудь более простой аналог: например, Smart Time Sync.

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

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

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

Что делать, если число сбивается, а системные часы спешат или отстают

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

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

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

Для этого:

Запустите ClockSync и коснитесь кнопки меню (три точки в верхнем правом углу). Выберите «Настройки
».

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

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

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

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

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

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

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

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

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

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

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

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

Особенности программы ClockSync

Автоматическая синхронизация работает только на телефонах с ROOT. Если root-прав нет, то проверка времени проводится автоматически и вы получите уведомление если часы сильно убежали. А синхронизировать часы придется «руками».

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

Часы на экран блокировки

Если есть необходимость изменить установленный экран блокировки таким образом, чтобы на нем отображался крупный циферблат, то в этом случае можно порекомендовать «Светящиеся Часы Комод». Утилита с таким странным названием бесплатна, не требует настройки и не показывает на экране блокировки никакой рекламы.

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

Автоматическая настройка

Этот способ гораздо легче предыдущего, но для него необходимо наличие Sim-карты и мобильной сети Интернет.

Если присутствуют оба фактора, показатели выставляются автоматически после включения устройства.

Вам лишь нужно подтвердить, правильно ли выставлены показатели в начале запуска смартфона.

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

Зачастую после активного значения автоопределения времени закрывается доступ к изменению данных настроек вручную.

Поэтому какой выбрать способ — автоматический или ручной — выбирать вам.

Заключение

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

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

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

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

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

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

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

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

И так, мы начинаем

Нашли через 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

/system/etc/timezones.db

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

Итоги

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

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector