Compartilhar via


SmsDevice Classe

Definição

Dá suporte à operação de um dispositivo de SMS de banda larga móvel.

Observação

Essa funcionalidade está disponível apenas para aplicativos de operadora móvel e aplicativos UWP com acesso privilegiado por operadoras de rede móvel, IHV de adaptador de banda larga móvel ou OEM. Para obter mais informações, consulte Banda Larga Móvel.

Observação

Essa classe e seus métodos têm suporte para a manutenção de aplicativos de área de trabalho herdados que a usavam em versões anteriores do Windows. Se você usar essa classe, deverá especificar o Windows.Devices.Sms.LegacySmsApiContract no manifesto do aplicativo. Não use essa classe se você estiver desenvolvendo um novo aplicativo para Windows. Em vez disso, use as APIs nesse namespace que não exigem o Windows.Devices.Sms.LegacySmsApiContract.

public ref class SmsDevice sealed : ISmsDevice
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Devices.Sms.LegacySmsApiContract, 65536)]
/// [Windows.Foundation.Metadata.Deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, Windows.Devices.Sms.LegacySmsApiContract)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SmsDevice final : ISmsDevice
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Devices.Sms.LegacySmsApiContract, 65536)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Devices.Sms.LegacySmsApiContract")]
class SmsDevice final : ISmsDevice
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Devices.Sms.LegacySmsApiContract), 65536)]
[Windows.Foundation.Metadata.Deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, typeof(Windows.Devices.Sms.LegacySmsApiContract))]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SmsDevice : ISmsDevice
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Devices.Sms.LegacySmsApiContract), 65536)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Devices.Sms.LegacySmsApiContract")]
public sealed class SmsDevice : ISmsDevice
Public NotInheritable Class SmsDevice
Implements ISmsDevice
Herança
Object Platform::Object IInspectable SmsDevice
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows Desktop Extension SDK (introduzida na 10.0.10240.0)
API contract
Windows.Devices.Sms.LegacySmsApiContract (introduzida na v1.0)
Funcionalidades do aplicativo
cellularMessaging sms

Comentários

Os aplicativos que usam a API Windows.Devices.Sms para enviar ou receber mensagens de texto falharão com E_ACCESS_DENIED se o usuário revogar o acesso.

Se o acesso ao dispositivo SMS tiver sido dado a um aplicativo:

  • Chamar GetDefaultAsync ou FromIdAsync dispara um prompt de consentimento na primeira vez que o aplicativo é executado.
  • Os manipuladores de erro para os métodos assíncronos de GetDefaultAsync e FromIdAsync receberão E_ACCESS_DENIED se o usuário não concedeu permissão no prompt de consentimento ou se a permissão for revogada.
  • Se o usuário reabilitar o acesso ao SMS após revogá-lo, chame GetDefaultAsync ou FromIdAsync novamente para acessar o SMS. Por exemplo, o manipulador de erros de E_ACCESS_DENIED erro pode exibir a interface do usuário para instruir o usuário a reabilitar o SMS usando o botão de configurações e tocar em um botão para tentar acessar novamente o SMS. O código por trás do botão deve chamar GetDefaultAsync ou FromIdAsync antes de fazer outras chamadas.
  • Se o aplicativo estiver se registrando para o evento em segundo plano de SMS (Windows.ApplicationModel.Background.SystemTriggerType.SmsReceived), o aplicativo precisará primeiro chamar GetDefaultAsync ou FromIdAsync novamente para acessar o SMS para garantir que o aplicativo tenha acesso. Chamar GetDefaultAsync ou FromIdAsync da tarefa em segundo plano não disparará um prompt de consentimento. Se for uma execução pela primeira vez ou se o usuário não concedeu permissão ou se a permissão for revogada, ele receberá um E_ACCESS_DENIED.

O primeiro uso do objeto SmsDevice para chamar FromIdAsync ou GetDefaultAsync por aplicativos escritos em C# ou C++ deve estar no thread STA (apartment de thread único). Chamadas de um thread de MTA (apartamento com vários threads) podem resultar em um comportamento indefinido.

Propriedades

AccountPhoneNumber

Retorna o número de telefone associado ao dispositivo SMS. O número de telefone pode ser usado para associar mensagens de entrada à conta e, possivelmente, a um mecanismo de armazenamento externo, como uma caixa de entrada da conta.

CellularClass

Retorna a classe celular do dispositivo SMS. A classe pode ser usada para determinar quais codificações são apropriadas ou quais limitações de dispositivo estão em vigor.

DeviceStatus

Retorna o status do dispositivo SMS, que indica se o dispositivo está pronto ou não. Ele também indica que tipo de problema existe se o dispositivo não estiver pronto.

MessageStore

Acessa o repositório de mensagens no dispositivo. O repositório mantém mensagens até que um cliente possa recuperá-las. Em alguns dispositivos, por exemplo, o repositório pode corresponder ao armazenamento SIM para mensagens SMS.

Métodos

CalculateLength(SmsTextMessage)

Estima o comprimento da mensagem transmitida da mensagem de texto especificada. A estimativa pode ser útil para clientes que desejam dar uma indicação de quantas mensagens serão enviadas na rede para levar o texto da mensagem completa.

FromIdAsync(String)

Cria uma instância de SmsDevice para o dispositivo que recebeu a mensagem SMS.

FromNetworkAccountIdAsync(String)

Cria uma instância de SmsDevice para a ID da conta de rede de Banda Larga Móvel especificada.

GetDefaultAsync()

Cria uma instância de um objeto SmsDevice associado ao dispositivo SMS padrão. Como o dispositivo pode estar ocupado, a operação é executada de forma assíncrona. O objeto de operação assíncrona retorna imediatamente.

GetDeviceSelector()

Recupera a cadeia de caracteres de seleção de classe que pode ser usada para enumerar dispositivos SMS.

SendMessageAsync(ISmsMessage)

Envia uma mensagem de forma assíncrona usando o dispositivo SMS. O método é assíncrono porque a operação de envio pode não ocorrer instantaneamente. O objeto de operação de mensagem é retornado imediatamente.

Eventos

SmsDeviceStatusChanged

Define um manipulador de eventos a ser chamado quando o status do dispositivo SMS é alterado.

SmsMessageReceived

Define um manipulador de eventos a ser chamado quando o dispositivo recebe uma nova mensagem de texto.

Aplica-se a