Continuando nossos posts sobre Windows Phone, hoje vamos conhecer um pouco sobre Launchers and Choosers.
Mas o que seria isso?
Durante o processo de desenvolvimento de um software é comum nos depararmos com requisitos onde há a necessidade de acesso direto às APIs do sistema operacional. Se estivéssemos desenvolvendo um sistema para Windows (Forms, Services, etc.) seria relativamente simples realizar o acesso a determinadas API´s, porém, no Windows Phone, isso é um pouco diferente, isso porque no modelo de execução do Windows Phone, as aplicações são totalmente isoladas, tanto para armazenamento de arquivos como para a própria execução de aplicações.
Resumindo, não é possível que as aplicações acessem diretamente recursos do sistema operacional – Contatos, Câmera, SMS, triste não?
E agora, quem poderá nos ajudar?
Eis que surjem nossos salvadores – Launchers and Choosers! Yeeesss!!
De modo geral, Launchers and Choosers são API´s que, de forma controlada, permitem que você tenha acesso à algumas funções do seu telefone, como por exemplo seus Contatos, SMS e até mesmo ao MarketPlace (MarketplaceHubTask). Vale lembrar que, no Windows Phone, o modelo de execução só permite que uma aplicação seja executada por vez, isso faz com que seja necessário o gerenciamento do estado das páginas Ok?!
Uma melhor definição para cada um deles seria:
Launchers
Bibliotecas que permitem que sejam executadas determinadas tarefas, e que, ao final de sua execução não retornam nenhuma informação à aplicação que realizou a chamada. Podemos citar a classe PhoneCallTask como sendo um Launcher pois, passado os parâmetros necessários, ela irá realizar sua operação (ligar para um contato) e ao término, não irá enviar nenhum retorno para nossa aplicação chamadora ou seja, nossa aplicação apenas irá retornar para seu estado anterior – ativada.
Choosers
Assim como o Launcher, permitem que sejam executadas determinadas tarefas, mas que, ao final de sua execução retornam alguma informação para a aplicação que realizou a chamada. Como Chooser, um exemplo seria a classe CameraCaptureTask, isso porque após sua utilização, a mesma retorna para a aplicação cliente uma informação, que neste caso é uma foto.
Ao desenvolvermos aplicações, é comum utilizarmos o emulador do Windows Phone para realizarmos alguns testes correto? Pois bem, é importante entendermos quais são os Launchers e Choosers suportados pelo emulador e suas diferenças.
Nas classes abaixo, não há diferença entre Emulador e o Dispositivo:
EmailAddressChooserTask
- Permite acessar a lista de contatos, que possuem email cadastrado, retornando o email para a aplicação;
MarketplaceDetailTask
- Inicia o Marketplace e exibe a página de detalhes de uma determinada aplicação;
MarketplaceHubTask
- Inicia o Marketplace e permite o usuário selecionar o hub de Música + Vídeo ou de Aplicação;
MarketplaceSearchTask
- Permite a realização de pesquisa no Marketplace e exibe a página de resultados;
PhoneNumberChooserTask
- Permite acessar a lista de contatos, que possuem telefone cadastrado, retornando o número para a aplicação;
PhotoChooserTask
- Permite acessa a biblioteca de imagens, retornando a imagem selecionada;
SaveEmailAddressTask
- Permite acessa a lista de contatos. É possível salvar o email para um novo contato, ou um já existente;
SavePhoneNumberTask
- Permite acessa a lista de contatos. É possível salvar o número para um novo contato, ou um já existente;
SearchTask
- Permite que a aplicação inicie o Web Search;
WebBrowserTask
- Permite que a aplicação inicie o navegador e navegue para uma URL específica.
Já nas classes abaixo, tem-se algumas diferenças:
CameraCaptureTask
- Windows Phone – Permite utilizar a câmera para obter uma nova foto e fornecê-la para a aplicação
- Emulador – Não existe câmera. Será retornada uma imagem padrão
EmailComposeTask
- Windows Phone – Permite que a aplicação inicie a criação de um novo email. Caso não existe conta de email cadastrada, será solicitada a configuração.
- Emulador – Não funciona pois não é possível configurar contas de email no emulador
MarketplaceReviewTask
- Windows Phone – Inicia o Marketplace e exibe a página de classificação e revisão de um determinado produto. É necessário um Windows Live ID para escrever uma revisão
- Emulador – Será retornado um erro pois não existe um Windows Live ID
MediaPlayerLaucher
- Windows Phone – Inicia o media player de acordo com a URI informada
- Emulador – É possível iniciar o media player e tocar músicas, porém vídeos não são renderizados
PhoneCallTask
- Windows Phone – Permite iniciar o mecanismo de chamadas, especificando o número a ser chamado. Caso o aparelho não possua um cartão SIM, será solicitada a adição do SIM e sairá da aplicação
- Emulador – O emulador utiliza um GSM falso e sempre retornará que não existe um cartão SIM inserido. No entanto as chamadas sempre são realizadas com sucesso por meio de uma conexão simulada
SmsComposeTask
- Windows Phone – Permite iniciar o mecanismo de mensagens, especificando o número do telefone e/ou a mensagem. Nenhum retorno é oferecido à aplicação. Caso o aparelho não possua um cartão SIM, o Windows Phone receberá uma notificação que o envio falhar
- Emulador – O emulador permite iniciar a mensagem SMS com o número do telefone e/ou a mensagem. A mensagem SMS sempre será “enviada” com sucesso devido ao falso SIM que o emulador possui.
That´s all folks!
Nos próximos posts irei demonstrar como utilizar nossos amigos Launchers and Choosers Ok!
Enjoy!



Comment
Charles Fortes
29 de maio de 2012 at 10:10Muito bom! Ansioso pelo próximo