Portuguese, Brazilian subtitles

← Using Alarms - Developing Android Apps

Get Embed Code
7 Languages

Showing Revision 9 created 06/20/2016 by Udacity Robot.

  1. Então agora temos um serviço simples.
  2. Não foi fácil?
  3. Mas ele ainda não desperta sozinho.
  4. Felizmente, há
    um serviço do sistema para isso.
  5. Esta é uma boa oportunidade
    para eu apresentar o gerenciador de alarme.
  6. O gerenciador de alarme permite que você
    diga ao sistema que deseja que ele
  7. desperte um componente de seu aplicativo
    depois de um período de tempo e
  8. faça algum processamento em segundo plano.
  9. Você pode até mesmo fazer com que ele desperte
    seu aplicativo periodicamente, mas
  10. o que então despertamos em segundo plano?
  11. É um componente do Android
    que não vimos anteriormente.
  12. Ele se chama broadcast receiver.
  13. Um broadcast receiver é uma classe
    especial usada para receber
  14. transmissões pretendidas,
    frequentemente de outros aplicativos.
  15. Um broadcast receiver tipicamente
    registra um filtro de intenção
  16. dessas transmissões.
  17. Ele é também uma forma de o aplicativo
    escutar alarmes.
  18. Os alarmes se valem de um novo tipo
    de intenção chamado PendingIntent.
  19. Um PendingIntent é
    um tipo especial de intenção
  20. que é passado de um
    aplicativo para outro.
  21. A grande diferença entre um
    PendingIntent e uma intenção normal
  22. é que um PendingIntent permite
    que o aplicativo que o utiliza envie dados com
  23. permissões e identidade de aplicativo
    iguais às do aplicativo que o criou.
  24. No Android, isso permite que o processo do sistema
    chame de volta seu aplicativo
  25. de uma forma assíncrona específica, sem
    comprometer o modelo de segurança do Android.
  26. Nos alarmes, uma intenção pendente
    é usada pelo gerenciador de alarme
  27. para falar com o broadcast
    receiver que o criou.
  28. Vamos adicionar algum alarme.
  29. Em primeiro lugar, vou adicionar um
    BroadcastReceiver na forma de classe interna
  30. estática do SunshineService.
  31. Como ele é um componente do Android,
  32. vou registrar esse broadcast
    receiver no arquivo manifest.
  33. Observe a forma em que a classe interna
    estática é representada.
  34. Certo.
  35. Vou dar a você a estrutura de um broadcast
    receiver que pode tratar um alarme.
  36. Mas agora é sua vez.
  37. Você pode criar um PendingIntent
    a partir de uma intenção explícita,
  38. para que o gerenciador de alarme
    ative seu broadcast receiver.
  39. Eu recomendo que você configure o alarme
    para tocar depois de um tempo bastante curto,
  40. como cinco segundos, de modo
    que você possa testar com facilidade se ele está funcionando.