Enviando SMS em aplicações Windows Phone

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Veja neste artigo como enviar mensagens SMS a partir de aplicações para Windows Phone.

Introdução

Uma das tarefas mais realizadas a partir de smartphones é o envio de mensagens de texto (SMS). Muitos preferem enviar um SMS a ligar diretamente para o destinatário, pois com o texto consegue passar toda informação de uma única vez, dispensando cumprimentos e despedidas desnecessários.

Atualmente, muitas empresas também aderiram a este método para passar informações para seus clientes de forma mais prática. Um exemplo disso é observado em algumas operadoras de cartão de crédito, que notificam o usuário quando uma compra é efetuada com seu cartão.Então, sabendo dessa realidade e da importância que possuem as mensagens de texto, nada melhor que integrá-las às nossas aplicações, permitindo ao usuário enviar SMS para um determinado número sem precisar sair da aplicação (ou “minimizá-la”) e acessar o aplicativo de mensagens.

No Windows Phone, essa é uma tarefa consideravelmente simples e pode ser realizada com o auxílio da classe SmsComposeTask, contida no namespace Microsoft.Phone.Tasks.

Essa classe possui basicamente duas propriedades e um método que são relevantes para nós neste momento:

  • Body (string): como o nome sugere, esta propriedade representa o corpo da mensagem. Podemos, por exemplo, solicitar que o usuário digite ou definir um texto fixo via código.
  • To (string): esta propriedade representa o número ou nome para o qual o SMS será enviado. É importante que aqui seja informado um número válido ou o nome de um contato, exatamente como ele aparece na agenda. Podem ser informados vários destinatários, separados por ponto e vírgula, assim como ocorre no aplicativo de mensagens (que será aberto, no fim das contas).
  • Show(): o único método que nos interessa aqui, responsável por abrir o aplicativo de mensagens com os destinatários e o corpo da mensagem já definidos. O usuário precisa somente tocar no botão Enviar.

Mãos à obra

Já conhecemos a classe que iremos utilizar, então já podemos criar uma nova aplicação para Windows Phone no Visual Studio, utilizando o template Windows Phone App.

Na página principal (MainPage.xaml), vamos inserir um botão no grid principal, para enviar o SMS. O conteúdo dessa página deve ficar como mostrado na Listagem 1.

Listagem 1: Conteúdo da página MainPage.xaml





    
        
        
    

    
    
        
        
    

    
    
        
            
        
    

 

A interface da página deve fica como ilustrada na Figura 1.

Interface da aplicação

Figura 1: Interface da aplicação

Para codificar o event handler do evento Click do botão Enviar, podemos dar dois clique sobre ele na interface, ou clicar com o botão direito na tag Button e utilizar a opção Navigate to Event Handler, como mostra a Figura 2.

Navegando para o event handler do botão

Figura 2: Navegando para o event handler do botão

Isso nos levará ao código C#, na função btnEnviar_Click, que trata o evento Click do botão.

Lá instanciaremos a classe SmsComposeTask, preenchendo as propriedade Body e To e invocando o método Show, conforme vemos na Listagem 2.

Listagem 2: Evento Click do botão Enviar

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.UserData;
using Microsoft.Phone.Tasks;

namespace PhoneApp1
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }

        private void btnEnviar_Click(object sender, RoutedEventArgs e)
        {
            SmsComposeTask sms = new SmsComposeTask();
            sms.To = "Andrew Hill; 88997755";
            sms.Body = "Este é o corpo da mensagem";
            sms.Show();
        }
    }
}

É importante observar que na seção de usings adicionamos o namespace Microsoft.Phone.Tasks, onde está contida a classe SmsComposeTask, como já foi citado anteriormente.

Executando a aplicação e tocando no botão, teremos o seguinte resultado:

Navegando para o event handler do botão

Figura 3: Aplicativo de mensagens aberto pela aplicação

Agora basta pressionar o botão “enviar” (send) para que a mensagem seja enviada. Ao fazer isso no emulador, obteremos um erro, pois não há uma conta de telefonia válida para realizar tal serviço.

Para resolver isso, é só executar a aplicação em um aparelho com uma conta válida.

Como vimos, basicamente fizemos uso da classe SmsComposeTask, que abre o aplicativo de mensagens para permitir ao usuário enviar SMS.

Então finalizamos aqui este breve artigo. Quaisquer dúvidas, sugestões ou críticas podem ser registradas na seção de comentários, abaixo.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?