SmsDevice Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |