SmsDevice Classe

Définition

Prend en charge le fonctionnement d’un appareil SMS haut débit mobile.

Notes

Cette fonctionnalité n’est disponible que pour les applications d’opérateur mobile et les applications UWP disposant d’un accès privilégié par les opérateurs de réseau mobile, l’adaptateur haut débit mobile IHV ou oem. Pour plus d’informations, consultez Haut débit mobile.

Notes

Cette classe et ses méthodes sont prises en charge pour la maintenance des applications de bureau héritées qui l’utilisaient dans les versions antérieures de Windows. Si vous utilisez cette classe, vous devez spécifier le windows.Devices.Sms.LegacySmsApiContract dans le manifeste de votre application. N’utilisez pas cette classe si vous développez une nouvelle application pour Windows. Au lieu de cela, utilisez les API de cet espace de noms qui ne nécessitent pas 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
Héritage
Object Platform::Object IInspectable SmsDevice
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows Desktop Extension SDK (introduit dans 10.0.10240.0)
API contract
Windows.Devices.Sms.LegacySmsApiContract (introduit dans v1.0)
Fonctionnalités de l’application
cellularMessaging sms

Remarques

Les applications qui utilisent l’API Windows.Devices.Sms pour envoyer ou recevoir des messages texte échouent avec E_ACCESS_DENIED si l’utilisateur révoque l’accès.

Si l’accès à l’appareil SMS a été accordé à une application :

  • L’appel de GetDefaultAsync ou FromIdAsync déclenche une invite de consentement lors de la première exécution de l’application.
  • Les gestionnaires d’erreurs pour les méthodes asynchrones de GetDefaultAsync et FromIdAsync reçoivent E_ACCESS_DENIED si l’utilisateur n’a pas accordé d’autorisation dans l’invite de consentement ou si l’autorisation est révoquée.
  • Si l’utilisateur réactive l’accès aux SMS après l’avoir révoqué, appelez à nouveau GetDefaultAsync ou FromIdAsync pour accéder aux SMS. Par exemple, le gestionnaire d’erreurs pour E_ACCESS_DENIED’erreur peut afficher l’interface utilisateur pour indiquer à l’utilisateur de réactiver LES SMS à l’aide de l’icône des paramètres, puis d’appuyer sur un bouton pour réessayer d’accéder aux SMS. Le code derrière le bouton doit appeler GetDefaultAsync ou FromIdAsync avant d’effectuer d’autres appels.
  • Si l’application s’inscrit à l’événement d’arrière-plan SMS (Windows.ApplicationModel.Background.SystemTriggerType.SmsReceived), l’application doit d’abord appeler GetDefaultAsync ou FromIdAsync à nouveau pour accéder aux SMS afin de garantir l’accès à l’application. L’appel de GetDefaultAsync ou FromIdAsync à partir de la tâche en arrière-plan ne déclenche pas d’invite de consentement. S’il s’agit d’une première exécution ou si l’utilisateur n’a pas accordé d’autorisation ou si l’autorisation est révoquée, il recevra une E_ACCESS_DENIED.

La première utilisation de l’objet SmsDevice pour appeler FromIdAsync ou GetDefaultAsync par des applications écrites en C# ou C++ doit se trouver sur le thread STA (Single-Threaded Apartment). Les appels à partir d’un thread d’appartement multithread (MTA) peuvent entraîner un comportement non défini.

Propriétés

AccountPhoneNumber

Retourne le numéro de téléphone associé à l’appareil SMS. Le numéro de téléphone peut être utilisé pour associer des messages entrants au compte et éventuellement à un mécanisme de stockage externe tel qu’une boîte de réception de compte.

CellularClass

Retourne la classe cellulaire de l’appareil SMS. La classe peut être utilisée pour déterminer quels encodages sont appropriés ou quelles limitations d’appareil sont en vigueur.

DeviceStatus

Retourne le status de l’appareil SMS, qui indique si l’appareil est prêt ou non. Il indique également quel type de problème existe si l’appareil n’est pas prêt.

MessageStore

Accède à la banque de messages sur l’appareil. Le magasin conserve les messages jusqu’à ce qu’un client puisse les récupérer. Sur certains appareils, par exemple, le magasin peut correspondre au stockage SIM pour les messages SMS.

Méthodes

CalculateLength(SmsTextMessage)

Estime la longueur du message transmis du message texte spécifié. L’estimation peut être utile pour les clients qui souhaitent indiquer le nombre de messages qui seront envoyés sur le réseau pour porter le texte du message complet.

FromIdAsync(String)

Crée une instance de SmsDevice pour l’appareil qui a reçu le message SMS.

FromNetworkAccountIdAsync(String)

Crée une instance de SmsDevice pour l’ID de compte de réseau haut débit mobile spécifié.

GetDefaultAsync()

Crée un instance d’un objet SmsDevice associé au périphérique SMS par défaut. Étant donné que l’appareil est peut-être occupé, l’opération s’exécute de manière asynchrone. L’objet d’opération asynchrone retourne immédiatement.

GetDeviceSelector()

Récupère la chaîne de sélection de classe qui peut être utilisée pour énumérer les appareils SMS.

SendMessageAsync(ISmsMessage)

Envoie de manière asynchrone un message à l’aide de l’appareil SMS. La méthode est asynchrone, car l’opération d’envoi peut ne pas se produire instantanément. L’objet d’opération de message est retourné immédiatement.

Événements

SmsDeviceStatusChanged

Définit un gestionnaire d’événements à appeler lorsque le status de l’appareil SMS change.

SmsMessageReceived

Définit un gestionnaire d’événements à appeler lorsque l’appareil reçoit un nouveau message texte.

S’applique à