Caso você esteja desenvolvendo APPs para Windows Phone (WP7) e deseja saber como fazer para que sua aplicação envie um SMS aos seus contatos, segue um exemplo de código (muito simples e funcional):
public void EnviarSMS(string Texto) { //A classe SmsComposeTask pertence ao namespace Microsoft.Phone.Tasks SmsComposeTask sms = new SmsComposeTask(); sms.Body = Texto; sms.Show(); }
Após a chamada ao método Show() o aplicativo de SMS nativo do Windows Phone fica disponível já indicando o texto informado ao método, porém você pode alterar o texto e é claro indicar para quem deseja enviar a mensagem.
Fica a dica!
Posts relacionados:
- Como implementar o envio de e-mail a partir de aplicações para Windows Phone 7
- Como exibir ou alterar informações nas Tiles das aplicações do Windows Phone 7
- Como implementar o efeito de vibrar no Windows Phone 7
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]
Pingback: Calculadora do Cidadão – Aplicativo para Windows Phone 7 – WP7 « Blog do Eduardo H. Rizo
Pingback: Curso Windows Phone – Tópicos « Blog do Eduardo H. Rizo
Boa dica Rizo!
Olá Eduardo, eu tenho uma List ConteudoSMS que contém uma lista da refeição do dia do restaurante universitário. Eu quero fazer um método para compartilhar por SMS, e quero colocar o conteúdo dessa lista dentro da mensagem, para quando o usuário clicar no botão de compartilhar, a lista da refeição apareça no corpo da mensagem. Como faço isso? Como faço para o sms.body receber essa lista? Agradeço muitíssimo.
Bom dia Robledo, tudo bom?
Deixa eu ver se entendi: Cada item do seu ListBox seria uma opção de refeição existente em um determinado dia no RU?
Se sim, o que você deseja fazer seria percorrer esse ListBox, pegar o valor existente em cada opção e então ir concatenando isso no corpo do SMS?
Abraços,
Eduardo H. Rizo
Assim: Eu tenho uma List ConteudoSMS = new List();
Ela guarda a refeição do dia do restaurante, exemplo: Arroz, feijão, assado de panela, farofa e suco de maracujá.
Agora eu quero que essa refeição passe para o corpo da mensagem SMS.
Estou tentando fazer assim no método:
public void OnClickEnviarSMS(object sender, EventArgs e)
{
//A classe SmsComposeTask pertence ao namespace Microsoft.Phone.Tasks
SmsComposeTask sms = new SmsComposeTask();
foreach (Itens item in ConteudoSMS)
{
sms.Body = “” + item;
sms.Show();
}
}
Itens tem a sua classe:
public class Itens
{
public string Item { get; set; }
public Itens()
{
}
}
Porém quando mando executar, a mensagem que aparece no corpo da mensagem no emulador é: “RU.Cardapio.Src.Classes.Itens”.
Eu queria que aparecesse: “Arroz, feijão, assado de panela, farofa e suco de maracujá”.
Consegue me ajudar? 🙂
Att,
Robledo
Opa, tudo bom?
Troque seu foreach conforme segue abaixo:
O teu erro é que você está pedindo para exibir cada elemento da lista ConteudoSMS e não a propriedade onde a informação está inserida.
Abraços,
Eduardo H. Rizo
Bom dia Eduardo
Novamente estou aqui, parabéns pelo blog, uma dúvida, ainda não implementei o código de envio de sms via aplicação, mas verificando em outros blogs, o envio do sms precisa que o usuário aperta o botão enviar, ou existe a possibilidade de enviar automaticamente?
Obrigado
Olá Anderson, tudo bom?
Para envio de SMS o desenvolvedor tem que fazer uso de um launcher do WP, ou seja, ele faz chamada a uma aplicação que é intrínseca ao telefone e passa para ela parâmetros que serão utilizados para preencher as informações, sendo assim, respondendo sua pergunta, não temos como enviar o SMS sem a intervenção do usuário. OK?
Abraços,
Eduardo H. Rizo
Obrigado
Olá Eduardo, novamente venho lhe pedir sua excelente ajuda. Já falei com você uns comentários acima sobre um problema que tenho e não consigo solucionar, tinha deixado de lado um tempo, mas agora quero muito conseguir resolver. Vou tentar explicar bem.
Eu tenho uma tela XAML com um Textblock assim:
Eu queria pegar o conteúdo desse Text que tem o Binding e passar para o SmsComposeTask para poder enviar o conteúdo por um SMS. O conteúdo é uma lista da refeição de um restaurante universitário do dia (Arroz, feijão, frango ao molho, farofa…), no entanto já tentei fazer da maneira que vc havia me falado, do jeito que outros amigos me disseram, mas não consigo.
Existe outro Textblock no código assim:
Se eu fizer assim, ele funciona normal:
private void OnClickEnviarSMS(object sender, EventArgs e)
{
SmsComposeTask sms = new SmsComposeTask();
sms.Body = mensagemerro.Text;
sms.Show(); //Aparece “O cardápio está indisponível agora…”
}
Agora se eu fizer do mesmo jeito com o outro textblock aparece isso:
private void OnClickEnviarSMS(object sender, EventArgs e)
{
SmsComposeTask sms = new SmsComposeTask();
sms.Body = comida1.Text;
sms.Show(); //Não aparece nada, fica em branco
}
Ou assim:
private void OnClickEnviarSMS(object sender, EventArgs e)
{
SmsComposeTask sms = new SmsComposeTask();
sms.Body = comida1.ToString();
sms.Show(); //Aparece “System.Windows.Controls.Textblock”
}
Por favor, se puder me ajude mesmo.
Att,
Robledo
Os textblocks não apareceram, eles são assim: o primeiro:
Textblock x:Name=”comida1″ Text=”{Binding Item}”
E o segundo que menciono é assim:
Textblock x:Name=”mensagemerro” Text=”O cardápio está indisponível agora…”