SlideShare uma empresa Scribd logo
OUTROS RECURSOS DO 
ANDROID 
“Eu estou fazendo um sistema 
operacional livre (apenas um 
hobby, não vai ser grande e 
profissional como o gnu) para 
clones AT 386 (486)” (Linus 
Torvalds)
CONTEÚDO 
•LOGCAT 
•GRIDVIEW E 
WEBVIEW 
•BROADCASTRECEIVER
UTILITÁRIO LOGCAT 
• Não existe System.out.println(), mas existe o LogCat 
• LogCat permite escrever mensagens no Log do Android 
• Níveis de severidade 
Verbose Log.v(tag, message) 
Debug Log.d(tag, message) 
Info Log.i(tag, message) 
Warning Log.w(tag, message) 
Error Log.e(tag, message, exception) 
• Para ver no Eclipse: 
– Window > Show View > Other > Android > LogCat
GRIDVIEW 
• Exibe Views na forma de grade 
• Todas as colunas têm a mesma largura 
• Faz scrolling do conteúdo 
• Atributos 
• Exemplo: 
– http://developer.android.com/resources/tutorials/views/hello-gridview.html
WEBVIEW E WEBSETTINGS 
• WebView 
– Apresenta uma página de web 
– Usa o mesmo componente que o navegador do celular 
– Necessário permissão android.permission.INTERNET 
• WebSettings 
– Permite configurar o WebView 
• Permite JavaScript, Salvar senhas, etc. 
• Métodos principais
WEBVIEW - EXERCÍCIO 
• Criar um projeto que abra a página da UNOESC 
– Dentro do método onCreate() da Activity 
WebView web = new WebView(this); 
WebSettings webSettings = web.getSettings(); 
webSettings.setSavePassword(false); 
webSettings.setSaveFormData(false); 
webSettings.setJavaScriptEnabled(true); 
webSettings.setSupportZoom(false); 
web.loadUrl("http://www.unoesc.edu.br"); 
setContentView(web); 
– Altere o AndroidManifest.xml 
<?xml version="1.0" encoding="utf-8"?> 
<manifest ... > 
<application ... > 
<activity ... > 
... 
</activity> 
</application> 
<uses-permission android:name="android.permission.INTERNET" /> 
</manifest>
GALLERY E IMAGESWITCHER 
• Gallery 
–Mostra lista de componentes com rolagem 
horizontal 
–Mantém o componente selecionado sempre no 
centro 
• ImageSwitcher 
– Exibe imagens e cria efeitos ao alterná-las
BROADCASTRECEIVER 
• Chamado pelo Android para reagir a mensagens 
broadcast 
• Usado para executar tarefas rápidas em segundo 
plano 
• Não interromper o usuário por meio de activities 
• O que são mensagens broadcasts? 
– São mensagens enviadas pelo Android quando ocorre 
algum evento do sistema ou de uma aplicação 
– Interceptada pelos BroadcastReceiver’s apropriados 
• Definido pelos <intent-filter>
TIPOS DE BROADCAST 
• Ordered ou Síncrono 
– Os receivers são executados em sequência e a falha de 
um interrompe o processamento dos demais 
• Normal ou Assíncrono 
– Todos os receivers executam simultaneamente em 
paralelo e de forma independente 
– Método para disparar: Context.sendBroadcast(Intent) 
Evento Mensagem 
BroadcastReceiver1 
BroadcastReceiverN 
...
CONFIGURAÇÃO DO RECEIVER 
• É necessário adicionar o elemento <receiver> dentro 
de <application> no AndroidManifest.xml 
<receiver android:name="NomeReceiver"> 
<intent-filter> 
<action android:name="com.example.broadcastreceiver.ACTION"/> 
<category android:name="android.intent.category.DEFAULT"/> 
</intent-filter> 
</receiver> 
• Implementar uma classe filha de BroadcastReceiver 
com o callback onReceive(Context, Intent) 
public class NomeReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 
// ... 
} 
} 
• Atenção: onReceive deve retornar em menos de 10 
s(timeout).
DISPARANDO MENSAGENS BROADCAST 
• Criar uma Intent com a mensagem 
• Enviar via 
Context.sendBroadcast(Intent) 
–Context é uma classe base de activity, 
logo o método pode ser chamado 
diretamente 
Intent intent = 
new 
Intent("com.example.broadcastreceiver.ACTION") 
; 
sendBroadcast(intent);
MENSAGENS DE BROADCAST DO 
SISTEMA 
• Mensagens broadcast enviadas apenas pelo sistema 
– Não podem ser enviadas pelo método sendBroadcast() 
android.intent.action Condição de envio (pelo sistema) 
WALLPAPER_CHANGED Papel de parece alterado 
BOOT_COMPLETED* Sistema concluiu o bootstrap 
ACTION_SHUTDOWN Sistema está desligando (antes de desligar o aparelho) 
BATTERY_CHANGED** Estado de carga da bateria mudou 
BATTERY_LOW Estado de carga da bateria baixo 
BATTERY_OKAY Estado de carga da bateria voltou a níveis normais 
ACTION_POWER_CONNECTED Carregador conectado 
ACTION_POWER_DISCONNECTED Carregador desconectado 
* Requer permissão android.permission.RECEIVE_BOOT_COMPLETED 
** Não podem ser usados com <intent-filter>
MENSAGENS DE BROADCAST DO 
SISTEMA 
android.intent.action.* Condição de envio (pelo sistema) 
TIME_SET Data e/ou hora do sistema foram alterados 
TIMEZONE_CHANGED Fuso horário foi modificado 
TIME_TICK** Hora do sistema mudou normalmente (enviado a cada minuto) 
SCREEN_ON Tela do dispositivo acendeu (estava inativa, mas usuário ativou) 
SCREEN_OFF Tela do dispositivo apagou (normal para economizar bateria) 
PACKAGE_ADDED Uma nova aplicação foi instalada no dispositivo 
PACKAGE_REMOVED Uma aplicação foi removida do dispositivo 
PACKAGE_REPLACED Uma aplicação foi substituída. Normalmente por upgrade de versão. 
PACKAGE_RESTARTED Uma aplicação foi reiniciada, tendo seus processados terminados. 
PACKAGE_DATA_CLEARED Dados de uma aplicação foram apagados. Enviado após PACKAGE_RESTARTED. 
** Não podem ser usados com <intent-filter>
CONFIGURANDO RECEIVERS VIA 
CÓDIGO 
• Indicado quando um receiver deve executar apenas 
quando uma activity está executando 
• É possível registrar dinamicamente via código 
– registerReceiver(BroadcastReceiver, Intent) 
– unregisterReceiver(BroadcastReceiver) 
• Recomendável: 
– Registrar em Activity.onCreate() ou onResume() 
– Desregistrar no Activity.onDestroy() ou onPause() 
• Note que são necessários para actions TIME_TICK e 
BATTERY_CHANGED da tabela
REFERÊNCIAS 
• LECHETA, Ricardo R. Google android: aprenda 
a criar aplicações para dispositivos móveis 
com o android SDK. 2. ed., rev. e ampl. São 
Paulo: Novatec, 2010. 608 p. ISBN 
9788575222447. 
• MURPHY, Mark L. Beginning android. New 
York, USA: Apress, 2009. xxii, 361 p. ISBN 
9781430224198.

Mais conteúdo relacionado

Semelhante a Aula08 android outros_recursos

Seminário sd android_exemplos
Seminário sd android_exemplosSeminário sd android_exemplos
Seminário sd android_exemplos
Calvin Rodrigues
 
Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e applets
Denis L Presciliano
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
Erisvaldo Junior
 

Semelhante a Aula08 android outros_recursos (20)

Desenvolvimento de aplicativos móveis para Android utilizando Java - 1/3
Desenvolvimento de aplicativos móveis para Android utilizando Java - 1/3Desenvolvimento de aplicativos móveis para Android utilizando Java - 1/3
Desenvolvimento de aplicativos móveis para Android utilizando Java - 1/3
 
Marshmallow for developers
Marshmallow for developersMarshmallow for developers
Marshmallow for developers
 
Widgets por eric andrade dos santos
Widgets por eric andrade dos santosWidgets por eric andrade dos santos
Widgets por eric andrade dos santos
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Seminário sd android_exemplos
Seminário sd android_exemplosSeminário sd android_exemplos
Seminário sd android_exemplos
 
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesCurso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
 
Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e applets
 
Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e applets
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com Java
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Escreva sua App Android sem gastar energia - Intel Sw Day
Escreva sua App Android sem gastar energia - Intel Sw DayEscreva sua App Android sem gastar energia - Intel Sw Day
Escreva sua App Android sem gastar energia - Intel Sw Day
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
ADB: Um ator invisível
ADB: Um ator invisívelADB: Um ator invisível
ADB: Um ator invisível
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdk
 
Watch face gdg jf
Watch face gdg jfWatch face gdg jf
Watch face gdg jf
 
Android carregando dados com loaders
Android   carregando dados com loadersAndroid   carregando dados com loaders
Android carregando dados com loaders
 
Entendendo a Arquitetura MVC do Zend Framework
Entendendo a Arquitetura MVC do Zend FrameworkEntendendo a Arquitetura MVC do Zend Framework
Entendendo a Arquitetura MVC do Zend Framework
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
 

Mais de Roberson Alves

Mais de Roberson Alves (14)

Apresentação da Dissertação
Apresentação da DissertaçãoApresentação da Dissertação
Apresentação da Dissertação
 
Apressentação SBIAGRO 2015
Apressentação SBIAGRO 2015Apressentação SBIAGRO 2015
Apressentação SBIAGRO 2015
 
Aula09 phonegap storage_connection
Aula09 phonegap storage_connectionAula09 phonegap storage_connection
Aula09 phonegap storage_connection
 
eduAula08 phonegap arquivos
eduAula08 phonegap arquivoseduAula08 phonegap arquivos
eduAula08 phonegap arquivos
 
Aula07 phonegap bussola_eventos
Aula07 phonegap bussola_eventosAula07 phonegap bussola_eventos
Aula07 phonegap bussola_eventos
 
Aula06 phonegap camera_acelerometro
Aula06 phonegap camera_acelerometroAula06 phonegap camera_acelerometro
Aula06 phonegap camera_acelerometro
 
Aula05 phonegap cadastro_contatos
Aula05 phonegap cadastro_contatosAula05 phonegap cadastro_contatos
Aula05 phonegap cadastro_contatos
 
Aula04 phonegap componentes
Aula04 phonegap componentesAula04 phonegap componentes
Aula04 phonegap componentes
 
Aula Aula03 estrutura phone_gap
Aula Aula03 estrutura phone_gapAula Aula03 estrutura phone_gap
Aula Aula03 estrutura phone_gap
 
la 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapla 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gap
 
Aula07 android conectividade
Aula07 android conectividadeAula07 android conectividade
Aula07 android conectividade
 
Aula06 android localizacao
Aula06 android localizacaoAula06 android localizacao
Aula06 android localizacao
 
Aula03 android layouts_views
Aula03 android layouts_viewsAula03 android layouts_views
Aula03 android layouts_views
 
Aula01 mobilidade android
Aula01 mobilidade androidAula01 mobilidade android
Aula01 mobilidade android
 

Último

GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
rarakey779
 
INTRODUÇÃO A ARQUEOLOGIA BÍBLICA [BIBLIOLOGIA]]
INTRODUÇÃO A ARQUEOLOGIA BÍBLICA [BIBLIOLOGIA]]INTRODUÇÃO A ARQUEOLOGIA BÍBLICA [BIBLIOLOGIA]]
INTRODUÇÃO A ARQUEOLOGIA BÍBLICA [BIBLIOLOGIA]]
ESCRIBA DE CRISTO
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
rarakey779
 
direito-administrativo-28c2aa-ed-2015-josc3a9-dos-santos-carvalho-filho.pdf
direito-administrativo-28c2aa-ed-2015-josc3a9-dos-santos-carvalho-filho.pdfdireito-administrativo-28c2aa-ed-2015-josc3a9-dos-santos-carvalho-filho.pdf
direito-administrativo-28c2aa-ed-2015-josc3a9-dos-santos-carvalho-filho.pdf
LeandroTelesRocha2
 

Último (20)

O autismo me ensinou - Letícia Butterfield.pdf
O autismo me ensinou - Letícia Butterfield.pdfO autismo me ensinou - Letícia Butterfield.pdf
O autismo me ensinou - Letícia Butterfield.pdf
 
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptxDIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
 
Atividade português 7 ano página 38 a 40
Atividade português 7 ano página 38 a 40Atividade português 7 ano página 38 a 40
Atividade português 7 ano página 38 a 40
 
A NEUROPEDAGOGIA NO PROCESSO DE ENCINAGEM.pdf
A NEUROPEDAGOGIA NO PROCESSO DE ENCINAGEM.pdfA NEUROPEDAGOGIA NO PROCESSO DE ENCINAGEM.pdf
A NEUROPEDAGOGIA NO PROCESSO DE ENCINAGEM.pdf
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
 
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básicoPowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
 
Fotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosFotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anos
 
Poema - Reciclar é preciso
Poema            -        Reciclar é precisoPoema            -        Reciclar é preciso
Poema - Reciclar é preciso
 
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptxCIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
 
INTRODUÇÃO A ARQUEOLOGIA BÍBLICA [BIBLIOLOGIA]]
INTRODUÇÃO A ARQUEOLOGIA BÍBLICA [BIBLIOLOGIA]]INTRODUÇÃO A ARQUEOLOGIA BÍBLICA [BIBLIOLOGIA]]
INTRODUÇÃO A ARQUEOLOGIA BÍBLICA [BIBLIOLOGIA]]
 
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdfCurso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
Curso de Direito do Trabalho - Maurício Godinho Delgado - 2019.pdf
 
Junho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na IgrejaJunho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na Igreja
 
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
 
Manual de Direito Comercial - Fabio Ulhoa Coelho.pdf
Manual de Direito Comercial - Fabio Ulhoa Coelho.pdfManual de Direito Comercial - Fabio Ulhoa Coelho.pdf
Manual de Direito Comercial - Fabio Ulhoa Coelho.pdf
 
Apresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao AssédioApresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao Assédio
 
Recurso da Casa das Ciências: Bateria/Acumulador
Recurso da Casa das Ciências: Bateria/AcumuladorRecurso da Casa das Ciências: Bateria/Acumulador
Recurso da Casa das Ciências: Bateria/Acumulador
 
Desastres ambientais e vulnerabilidadess
Desastres ambientais e vulnerabilidadessDesastres ambientais e vulnerabilidadess
Desastres ambientais e vulnerabilidadess
 
direito-administrativo-28c2aa-ed-2015-josc3a9-dos-santos-carvalho-filho.pdf
direito-administrativo-28c2aa-ed-2015-josc3a9-dos-santos-carvalho-filho.pdfdireito-administrativo-28c2aa-ed-2015-josc3a9-dos-santos-carvalho-filho.pdf
direito-administrativo-28c2aa-ed-2015-josc3a9-dos-santos-carvalho-filho.pdf
 
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
 

Aula08 android outros_recursos

  • 1. OUTROS RECURSOS DO ANDROID “Eu estou fazendo um sistema operacional livre (apenas um hobby, não vai ser grande e profissional como o gnu) para clones AT 386 (486)” (Linus Torvalds)
  • 2. CONTEÚDO •LOGCAT •GRIDVIEW E WEBVIEW •BROADCASTRECEIVER
  • 3. UTILITÁRIO LOGCAT • Não existe System.out.println(), mas existe o LogCat • LogCat permite escrever mensagens no Log do Android • Níveis de severidade Verbose Log.v(tag, message) Debug Log.d(tag, message) Info Log.i(tag, message) Warning Log.w(tag, message) Error Log.e(tag, message, exception) • Para ver no Eclipse: – Window > Show View > Other > Android > LogCat
  • 4. GRIDVIEW • Exibe Views na forma de grade • Todas as colunas têm a mesma largura • Faz scrolling do conteúdo • Atributos • Exemplo: – http://developer.android.com/resources/tutorials/views/hello-gridview.html
  • 5. WEBVIEW E WEBSETTINGS • WebView – Apresenta uma página de web – Usa o mesmo componente que o navegador do celular – Necessário permissão android.permission.INTERNET • WebSettings – Permite configurar o WebView • Permite JavaScript, Salvar senhas, etc. • Métodos principais
  • 6. WEBVIEW - EXERCÍCIO • Criar um projeto que abra a página da UNOESC – Dentro do método onCreate() da Activity WebView web = new WebView(this); WebSettings webSettings = web.getSettings(); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(false); web.loadUrl("http://www.unoesc.edu.br"); setContentView(web); – Altere o AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest ... > <application ... > <activity ... > ... </activity> </application> <uses-permission android:name="android.permission.INTERNET" /> </manifest>
  • 7. GALLERY E IMAGESWITCHER • Gallery –Mostra lista de componentes com rolagem horizontal –Mantém o componente selecionado sempre no centro • ImageSwitcher – Exibe imagens e cria efeitos ao alterná-las
  • 8. BROADCASTRECEIVER • Chamado pelo Android para reagir a mensagens broadcast • Usado para executar tarefas rápidas em segundo plano • Não interromper o usuário por meio de activities • O que são mensagens broadcasts? – São mensagens enviadas pelo Android quando ocorre algum evento do sistema ou de uma aplicação – Interceptada pelos BroadcastReceiver’s apropriados • Definido pelos <intent-filter>
  • 9. TIPOS DE BROADCAST • Ordered ou Síncrono – Os receivers são executados em sequência e a falha de um interrompe o processamento dos demais • Normal ou Assíncrono – Todos os receivers executam simultaneamente em paralelo e de forma independente – Método para disparar: Context.sendBroadcast(Intent) Evento Mensagem BroadcastReceiver1 BroadcastReceiverN ...
  • 10. CONFIGURAÇÃO DO RECEIVER • É necessário adicionar o elemento <receiver> dentro de <application> no AndroidManifest.xml <receiver android:name="NomeReceiver"> <intent-filter> <action android:name="com.example.broadcastreceiver.ACTION"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </receiver> • Implementar uma classe filha de BroadcastReceiver com o callback onReceive(Context, Intent) public class NomeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // ... } } • Atenção: onReceive deve retornar em menos de 10 s(timeout).
  • 11. DISPARANDO MENSAGENS BROADCAST • Criar uma Intent com a mensagem • Enviar via Context.sendBroadcast(Intent) –Context é uma classe base de activity, logo o método pode ser chamado diretamente Intent intent = new Intent("com.example.broadcastreceiver.ACTION") ; sendBroadcast(intent);
  • 12. MENSAGENS DE BROADCAST DO SISTEMA • Mensagens broadcast enviadas apenas pelo sistema – Não podem ser enviadas pelo método sendBroadcast() android.intent.action Condição de envio (pelo sistema) WALLPAPER_CHANGED Papel de parece alterado BOOT_COMPLETED* Sistema concluiu o bootstrap ACTION_SHUTDOWN Sistema está desligando (antes de desligar o aparelho) BATTERY_CHANGED** Estado de carga da bateria mudou BATTERY_LOW Estado de carga da bateria baixo BATTERY_OKAY Estado de carga da bateria voltou a níveis normais ACTION_POWER_CONNECTED Carregador conectado ACTION_POWER_DISCONNECTED Carregador desconectado * Requer permissão android.permission.RECEIVE_BOOT_COMPLETED ** Não podem ser usados com <intent-filter>
  • 13. MENSAGENS DE BROADCAST DO SISTEMA android.intent.action.* Condição de envio (pelo sistema) TIME_SET Data e/ou hora do sistema foram alterados TIMEZONE_CHANGED Fuso horário foi modificado TIME_TICK** Hora do sistema mudou normalmente (enviado a cada minuto) SCREEN_ON Tela do dispositivo acendeu (estava inativa, mas usuário ativou) SCREEN_OFF Tela do dispositivo apagou (normal para economizar bateria) PACKAGE_ADDED Uma nova aplicação foi instalada no dispositivo PACKAGE_REMOVED Uma aplicação foi removida do dispositivo PACKAGE_REPLACED Uma aplicação foi substituída. Normalmente por upgrade de versão. PACKAGE_RESTARTED Uma aplicação foi reiniciada, tendo seus processados terminados. PACKAGE_DATA_CLEARED Dados de uma aplicação foram apagados. Enviado após PACKAGE_RESTARTED. ** Não podem ser usados com <intent-filter>
  • 14. CONFIGURANDO RECEIVERS VIA CÓDIGO • Indicado quando um receiver deve executar apenas quando uma activity está executando • É possível registrar dinamicamente via código – registerReceiver(BroadcastReceiver, Intent) – unregisterReceiver(BroadcastReceiver) • Recomendável: – Registrar em Activity.onCreate() ou onResume() – Desregistrar no Activity.onDestroy() ou onPause() • Note que são necessários para actions TIME_TICK e BATTERY_CHANGED da tabela
  • 15. REFERÊNCIAS • LECHETA, Ricardo R. Google android: aprenda a criar aplicações para dispositivos móveis com o android SDK. 2. ed., rev. e ampl. São Paulo: Novatec, 2010. 608 p. ISBN 9788575222447. • MURPHY, Mark L. Beginning android. New York, USA: Apress, 2009. xxii, 361 p. ISBN 9781430224198.