Xamarin.Essentials:Sms

Sms 클래스를 사용하면 애플리케이션이 기본 SMS 애플리케이션에서 수신자에게 보내도록 지정된 메시지를 열 수 있습니다.

시작하기

이 API를 사용하기 전에 라이브러리가 제대로 설치되고 프로젝트에 설정되어 있는지 확인하기 위해 Xamarin.Essentials에 대한 시작 가이드를 읽어보세요.

Sms 기능에 액세스하려면 다음 플랫폼 관련 설정이 필요합니다.

프로젝트의 대상 Android 버전이 Android 11(R API 30)로 설정된 경우 새 패키지 가시성 요구 사항에 사용되는 쿼리로 해당 Android 매니페스트를 업데이트해야 합니다.

속성 폴더 아래의 AndroidManifest.xml 파일을 열고 매니페스트 노드 내부에 다음을 추가합니다.

<queries>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="smsto"/>
  </intent>
</queries>

Sms 사용

클래스에서 Xamarin.Essentials에 대한 참조를 추가합니다.

using Xamarin.Essentials;

SMS 기능은 메시지의 수신자와 메시지 본문이 포함된 SmsMessage에 대해 ComposeAsync 메서드를 호출하여 작동합니다.

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.
        }
    }
}

또한 여러 명의 수신자를 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.
        }
    }
}

API

Channel 9YouTube에서 더 많은 Xamarin 비디오를 확인하세요.