SmsDevice Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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. |