В чем причина того, что будильник не работает, когда телефон выключен?

13

Я знаю, что будильник не работает, когда телефон выключен, но мой вопрос: почему это не работает? О чем думали разработчики / инженеры?

Я всегда использовал свои мобильные телефоны в качестве будильников и даже очень старые мобильные телефоны поддерживают будильники, когда они выключены.

RoflcoptrException
источник
2
Мой старый кусок Motorola v360 имел обыкновение делать это, я думаю, что в Android Alarm работает поверх ОС, а не на низком уровне, как эти более простые телефоны.
mbwasi
Вы действительно имеете в виду отключение, как выключение питания, а не просто не подключен к сотовой сети?
Аманда
Я никогда не выключаю свою. Я использую Tasker, чтобы отключить уведомления на ночь, и если я действительно не хочу звонков, я использую режим полета.
TomG

Ответы:

20

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

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

Мэтью Рид
источник
2
Разве это не может сэкономить количество энергии, необходимое для работы цифровых часов в течение трех лет на крошечной кнопочной батарее минус накладные расходы на ЖК-экран?
Mattdm
4
Я уверен, что это возможно, но большинство устройств Android, очевидно, предназначены для таких людей, как я, которые хотят, чтобы телефон был выключен, когда мы его выключим.
Мэтью Прочитал
Так что, если он сможет это сделать, можно ли написать собственный будильник, который сможет это сделать?
RoflcoptrException
6
@Roflcoptr: Нет, это не проблема программного обеспечения, поэтому вы не можете просто написать программное обеспечение. Вам нужен аппаратный будильник, чтобы иметь возможность выключить телефон Android.
Ли Райан
Я купил настольный док. Работает хорошо.
Эль
5

Ваш старый мобильный телефон не был действительно выключен, когда вы его выключили.

Кит Туомбли
источник
6
Не обязательно. Если бы у телефона была отдельная микросхема RTC, вы могли бы отключить телефонную часть и включить только RTC. Когда срабатывает RTC, он может разбудить главный микроконтроллер телефона. Я удивлен, что устройства Android не имеют такого оборудования.
Мики Динеску
1
Ухх, да обязательно. Если это был будильник, он был включен, а не выключен.
Аманда
3

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

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

Гарри
источник
1
Я не согласен; Есть некоторые приложения, которые используют нетривиальное количество энергии, на которое мы бы пожаловались, если бы не было простого способа их сохранить. Таким образом, когда мы выключаем телефон, он почти не потребляет энергию; единственное используемое питание - это аккумулятор.
Кевин М
Я не уверен, что понимаю ваш комментарий. Вы имеете в виду, что в режиме «В самолете» работают приложения, которые потребляют нетривиальное количество энергии? Или ты имеешь в виду что-то еще?
2

Я провел «эксперимент» со своим телефоном (Samsung Nexus S, Android 2.3):

Настройки -> Дата и время -> Автоматически -> ВЫКЛ

Затем я вручную установил неверное значение времени (реальное время + 5 минут). Я выключил телефон. С выключенным я имею ввиду действительно выключенный, а не дежурный статус, когда будильник не работает. Через несколько минут я снова включил его.

Отображаемое время все еще было неправильным значением, которое я установил ранее, то есть текущее обновленное текущее время + 5 минут.

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

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

Может быть чего-то не хватает в самой ОС Android?

PS: Кто-нибудь знает, возможно ли заставить телефон проснуться в определенное время? Если это так, мы просто должны загрузить его за пять минут до установки будильника ...

Pietro
источник
2
Интересная идея, но это сработает только в том случае, если PIN-код не требуется, или если вы также где-то внедрили свой PIN-код. или нет необходимости вводить PIN-код, чтобы AlarmManager работал?
RoflcoptrException
Пожалуйста, не используйте свой ответ, чтобы ввести новые вопросы. Это не дискуссионный форум. Если вы не отвечаете на оригинальный вопрос, создайте свой собственный.
эль
1
Наличие оборудования RTC (часы реального времени), которое работает, когда телефон выключен, не означает, что RTC может разбудить телефон от отключения питания. Чтобы RTC разбудил телефон, он должен быть в состоянии загрузить процессор, по сути, имея тот же механизм, что и кнопка питания. Кроме того, должен быть механизм, чтобы ОС задавала время пробуждения RTC, а затем она должна была хранить это время внутри себя. Механизм для аварийного RTC намного сложнее, чем обычный RTC, который представляет собой простой двоичный счетчик. Обычный RTC не может быть использован для пробуждения ОС.
Ли Райан
1
Тем не менее, у вас есть точка зрения; ЦП на несколько порядков намного сложнее, чем даже аварийный RTC, и добавление аварийного RTC было бы очень неплохо, поскольку оно позволяет делать вещи, которые невозможны без него.
Ли Райан
Конечно, у него есть внутренние часы, иначе вам придется вводить время каждый раз, когда вы выключаете питание.
Данхамззз