Xamarin.Essentials:SMS
A classe Sms permite que um aplicativo abra o aplicativo de SMS padrão com uma determinada mensagem para enviar para um destinatário.
Para começar a usar essa API, leia o guia de introdução para Xamarin.Essentials garantir que a biblioteca esteja instalada e configurada corretamente em seus projetos.
Para acessar a funcionalidade de SMS , é necessária a seguinte configuração específica da plataforma.
Se a versão do Android de destino do projeto estiver definida como Android 11 (API R 30), você deverá atualizar o manifesto do Android com consultas usadas com os novos requisitos de visibilidade do pacote.
Abra o arquivo AndroidManifest.xml na pasta Propriedades e adicione o seguinte dentro do nó do manifesto:
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="smsto"/>
</intent>
</queries>
Adicione uma referência a Xamarin.Essentials em sua classe:
using Xamarin.Essentials;
A funcionalidade do SMS funciona chamando o método ComposeAsync
de uma SmsMessage
que contém o destinatário da mensagem e o corpo da mensagem, sendo ambos opcionais.
public class SmsTest
{
public async Task SendSms(string messageText, string recipient)
{
try
{
var message = new SmsMessage(messageText, new []{ recipient });
await Sms.ComposeAsync(message);
}
catch (FeatureNotSupportedException ex)
{
// Sms is not supported on this device.
}
catch (Exception ex)
{
// Other error has occurred.
}
}
}
Além disso, você pode passar vários destinatários para uma SmsMessage
:
public class SmsTest
{
public async Task SendSms(string messageText, string[] recipients)
{
try
{
var message = new SmsMessage(messageText, recipients);
await Sms.ComposeAsync(message);
}
catch (FeatureNotSupportedException ex)
{
// Sms is not supported on this device.
}
catch (Exception ex)
{
// Other error has occurred.
}
}
}
Encontre mais vídeos sobre o Xamarin no Channel 9 e no YouTube.