|
Página 1 de 1
|
[ 3 Mensagens ] |
|
[DICA] Não deixe o seu Android dormir em serviço!
| Autor |
Mensagem |
|
A H Gusukuma
Dalvik Virtual Machine
Data de registro: 17 Jul 2011, 10:55 Mensagens: 1988 Localização: São Paulo
|
 [DICA] Não deixe o seu Android dormir em serviço!
Pessoal, essa vem do meu blog. Estava dando uma estudada em atividades em background e me deparei com uma nota no Alarm Manager que eu não tinha conhecimento. Fiz uma tradução livre, que cito abaixo: Citação: "O Alarm Manager mantém um bloqueio que mantém a CPU funcionando (CPU wake lock) enquanto o método OnReceive do receiver receptor do alarme está sendo executado. Isso garante que o telefone não vai dormir (sleep) até ter terminado de manusear o broadcast. Uma vez que o OnReceive () retorne, o Alarm Manager libera esse bloqueio. Isso significa que o telefone em alguns casos, entra em sleep assim que o seu OnReceive () é concluído. Se o seu Receiver do alarme chama o Context.startService (), é possível que o telefone possa entrar em sleep antes de o serviço solicitado seja iniciado. Para evitar isso, o seu BroadcastReceiver e o Service precisam implementar uma política separada de wake lock para garantir que o telefone continue funcionando até que o serviço esteja disponível." Então, fui dar uma pesquisada no assunto e encontrei como implementar essa tal de política de wake lock. Para isso, usamos o serviço do PowerManager. No exemplo mantemos a CPU rodando para executar um serviço. Essa opção é perfeita para o caso devido ao fato de que a CPU ficará rodando mesmo que o usuário aperte a tecla power. PowerManager pm = (PowerManager ) getSystemService (Context. POWER_SERVICE); PowerManager. WakeLock wl = pm. newWakeLock(PowerManager. PARTIAL_WAKE_LOCK, "MyWakeLock"); wl. acquire(); //// coloque aqui o seu código //wl. release(); Normalmente, colocamos o acquire no onCreate e o release no onDestroy. Outra coisa, não devemos abusar disso devido ao fato de que isso vai consumir muito mais bateria do que o normal, principalmente nas outras opções que mantém o visor ligado. Outras opções: Flag Value.................................... CPU Screen Keyboard PARTIAL_WAKE_LOCK.................... On Off Off SCREEN_DIM_WAKE_LOCK............. On Dim Off SCREEN_BRIGHT_WAKE_LOCK........ On Bright Off FULL_WAKE_LOCK......................... On Bright Bright Mais detalhes: http://developer.android.com/reference/ ... nager.htmlhttp://developer.android.com/reference/ ... nager.htmlPS: estava esquecendo, precisa da permissão: android.permission.WAKE_LOCK Bons códigos!
_________________Abraços ___________ Novo App: CalcMat - Calculadora de materiais para concreto Blog: Agorandroid - sobre programação Android Twitter: @Agorandroid ___________ Campanha: Facilite sua vida e a dos outros usuários Netiqueta:Procure responder as sugestões. Quando encontrar a solução, coloque [Resolvido] no primeiro post o mais rápido possível. Lembre-se de agradecer às pessoas que ajudaram e poste a solução do problema.
|
| 30 Jan 2012, 08:26 |
|
 |
|
javadroid
What is Android?
Data de registro: 26 Jan 2012, 17:55 Mensagens: 2
|
 Re: [DICA] Não deixe o seu Android dormir em serviço!
Excelente dica Gusukuma !!!!
|
| 30 Jan 2012, 17:54 |
|
 |
|
GhostMan2
Debugging
Data de registro: 23 Out 2010, 15:12 Mensagens: 664 Localização: Caxias do Sul - RS
|
 Re: [DICA] Não deixe o seu Android dormir em serviço!
Ótima dica, valeu!
_________________ Samsung Galaxy S II - Oficial 4.1.2 Espanha Motorola Quench - GingerXT
|
| 31 Jan 2012, 00:36 |
|
|
|
Página 1 de 1
|
[ 3 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: adautox, adelar, ademir.carvalhojr, AdrianoMM, albinoneto, allone, alsimoes, alylson, arilsonm, avsouza, Bass, beeshop, Biggs Darklighter, bocajunior88, BOMBER27, brpiassa, Brunohc, btminzon, cabelo, careisjr, Carla Luz, Carlos Alexandre, cassianotartari, celiapinheiro, Chefe Nass, compto, czambroni, Damiani Oliveira, dariosena, Darth Maul, Darth Vader, David, debal, denisfln, difrene, Douglas Siviotti, dramos, eliasmachado_rj, Erik Patekoski, EvertonLB, Felipe, felipe.cintra, fernando neves, Flavio Alves, flaviohssantos, fraga, freina, gabrielatme, geeks, Gnomo, Gooooogle, Guilherme Cobain, guilhermepilotti, guilhermesmo, hbarroco, helder, humberto, icarodavi, Igor_M, inesfg, JackBlackJack, jhou, jlucasps, jonasminas, João Miguel Aguiar, Juliobcosta, leeeeooooooo, Lord, lucasmadeira, LucasNascimento, lucastgomes, luciocamilo, Lucious, Luna, Machado000, marceloaragao, marcelorferrari, mendes_lu, mikasjau, mravel, msmdark, mtomazzi, mvoto, n3t0, NeruLL, nfaria, nrsf, otium, otpor, paulanegreiros, pchofard, pingumanbr, polonia, poponeis, Princesa Léia Organa, ramonsiebra, rayberg, rbenatti, renanpl, roberto caceres, RodReis, Rodrigo, rubens_olv, sasuke_sarutobi, sergio, sjta, Snappy [Bot], srsilveira, suissa, thosjanas, Vania, vieira, voliverio, Wds, Webnet, XPTO, yeltsinlima e 1 visitante |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|