Por que o despertador não está funcionando quando o telefone está desligado?

13

Sei que o alarme não está funcionando quando o telefone está desligado, mas minha pergunta é: Por que isso não funciona? O que os desenvolvedores / engenheiros estavam pensando?

Sempre usei meus telefones celulares como despertadores e até mesmo celulares antigos suportam despertadores quando estão desligados.

RoflcoptrException
fonte
2
Meu velho pedaço de porcaria do Motorola v360 costumava fazer isso, acho que no Android o Alarme está sendo executado em cima do sistema operacional e não em um nível baixo como esses telefones mais simples.
precisa saber é o seguinte
Você realmente quer dizer, como desligado, não apenas não conectado a uma rede de celular?
Amanda
Eu nunca desliguei o meu. Uso o Tasker para desativar as notificações da noite para o dia e, se realmente não quiser ligações, uso o modo avião.
TomG 18/10/11

Respostas:

20

Não há energia no telefone quando está desligado. Está realmente desligado . Alguns telefones têm um modo de carregamento minimalista que mostra apenas uma animação da bateria, mas ainda não vi um dispositivo Android inicializado no modo de relógio.

O sistema operacional Android foi projetado para usar energia mínima quando não estiver em uso. Se você tiver um problema com a bateria descarregada durante a noite, provavelmente é devido a um aplicativo de terceiros.

Matthew Read
fonte
2
Será que realmente não é possível poupar a quantidade de energia necessária para rodar um relógio digital por três anos com uma minúscula bateria de botão menos a sobrecarga da tela LCD?
mattdm
4
Tenho certeza que sim, mas a maioria dos dispositivos Android foi projetada para pessoas como eu, que desejam desligar o telefone quando o desligamos.
Mateus Leia
Portanto, se for capaz de fazê-lo, será possível escrever um despertador personalizado que possa fazê-lo?
RoflcoptrException 15/01
6
@Roflcoptr: Não, este não é um problema de software, portanto você não pode simplesmente escrever um software. Você precisa de um despertador de hardware para poder ligar um telefone Android desligado.
Lie Ryan
Eu comprei a estação de trabalho. Funciona bem.
ale
5

Seu celular antigo não estava realmente "desligado" quando você o desligou.

Keith Twombley
fonte
6
Não necessariamente. Se o telefone tivesse um chip RTC separado, você poderia desligar a parte do telefone e ter apenas o RTC ligado. Quando o alarme do RTC disparasse, ele poderia acordar o microcontrolador principal do telefone. Estou surpreso que os dispositivos Android não apresentem esse tipo de hardware.
Miky Dinescu
1
Sim, necessariamente. Se estava executando um despertador, estava ligado, não desligado.
Amanda
3

Depois de definir o alarme, em vez de desligar o telefone, ative o modo avião. Dessa forma, o sistema operacional é fechado para um estado inativo com o relógio em execução.

A HTC pode vincular o botão liga / desliga ao ativar o modo avião e entrar no modo de espera. E então, quando o usuário pressiona o botão liga / desliga novamente para ligar o telefone, ele realmente reinicia. A função de ligar / desligar seria a mesma de antes.

atormentar
fonte
1
Discordo; existem alguns aplicativos que usam uma quantidade não trivial de energia da qual reclamaríamos se não houvesse uma maneira fácil de salvá-los. Dessa forma, quando desligamos o telefone, ele quase não usa energia; a única energia usada é a da bateria.
Kevin M
Não sei se entendi seu comentário. Você quer dizer que, no modo avião, há um aplicativo em execução que consome uma quantidade não trivial de energia? Ou você quer dizer outra coisa?
2

Eu fiz um "experimento" com meu telefone (Samsung Nexus S, Android 2.3):

Configurações -> Data e Hora -> Automático -> OFF

Depois, defino manualmente o tempo com um valor errado (tempo real + 5 minutos). Eu desliguei o telefone. Com desligado, quero dizer realmente desligado, não em espera, o status em que o alarme não funciona. Depois de alguns minutos, liguei novamente.

O tempo exibido ainda era o valor errado que eu defini antes, ou seja, o tempo real atual atualizado + 5 minutos.

Isso significa que o telefone deve ter um relógio interno que funcione mesmo quando está desligado. Na realidade, pode não ter um, mas deve armazenar o delta entre o tempo atual obtido da rede e o tempo que eu defini; no entanto, isso parece bastante irrealista.

Então, isso me faz pensar que os telefones Android têm um relógio interno com bateria própria e isso deve poder inicializar o telefone no momento apropriado.

Pode estar faltando algo no próprio sistema operacional Android?

PS: Alguém sabe se é possível fazer o telefone acordar em um horário específico? Se foi, devemos apenas inicializar cinco minutos antes de o alarme ser definido ...

Pietro
fonte
2
Ideia interessante, mas isso só funcionaria se nenhum PIN for necessário ou se você também implementá-lo em algum lugar. ou não é necessário digitar o PIN para fazer o AlarmManager funcionar?
RoflcoptrException
Por favor, não use sua resposta para introduzir novas perguntas. Este não é um fórum de discussão. Se você não estiver respondendo à pergunta original, crie a sua.
ale
1
Ter um hardware RTC (relógio em tempo real) em execução enquanto o telefone está desligado não implica que o RTC possa acordar o telefone desligado. Para que o RTC ative o telefone, ele precisa ser capaz de inicializar a CPU, essencialmente, tendo o mesmo maquinário que o botão liga / desliga. Além disso, é necessário haver um mecanismo para o sistema operacional definir o tempo de ativação do RTC e, em seguida, ele deve armazenar esse tempo dentro de si. O mecanismo para um RTC alarmado é muito mais complexo que um RTC comum, que é apenas um simples contador binário. Um RTC comum não pode ser usado para ativar o sistema operacional.
Lie Ryan
1
No entanto, você tem razão; uma CPU é uma ordem de magnitude muito mais complexa do que até um RTC alarmado, e a adição de RTC alarmado seria muito agradável, pois permite coisas que são impossíveis sem uma.
Lie Ryan
É claro que ele tem um relógio interno, caso contrário você precisaria inserir a hora toda vez que desligar.
Dunhamzzz