SmsDevice Klasse

Definition

Unterstützt den Betrieb eines mobilen Breitband-SMS-Geräts.

Hinweis

Diese Funktionalität steht nur für Apps von Mobilfunkanbietern und UWP-Apps mit privilegiertem Zugriff durch Mobilfunknetzbetreiber, mobile Breitbandadapter IHV oder OEM zur Verfügung. Weitere Informationen finden Sie unter Mobiles Breitband.

Hinweis

Diese Klasse und ihre Methoden werden für die Wartung von Legacy-Desktop-Apps unterstützt, die sie in früheren Versionen von Windows verwendet haben. Wenn Sie diese Klasse verwenden, müssen Sie windows.Devices.Sms.LegacySmsApiContract im Manifest Ihrer App angeben. Verwenden Sie diese Klasse nicht, wenn Sie eine neue App für Windows entwickeln. Verwenden Sie stattdessen die APIs in diesem Namespace, für die windows.Devices.Sms.LegacySmsApiContract nicht erforderlich ist.

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
Vererbung
Object Platform::Object IInspectable SmsDevice
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows Desktop Extension SDK (eingeführt in 10.0.10240.0)
API contract
Windows.Devices.Sms.LegacySmsApiContract (eingeführt in v1.0)
App-Funktionen
cellularMessaging sms

Hinweise

Apps, die die Windows.Devices.Sms-API zum Senden oder Empfangen von Textnachrichten verwenden, schlagen mit E_ACCESS_DENIED fehl, wenn der Benutzer den Zugriff widerruft.

Wenn Zugriff auf das SMS-Gerät für eine App gewährt wurde:

  • Wenn GetDefaultAsync oder FromIdAsync aufgerufen wird, wird bei der ersten Ausführung der App eine Zustimmungsaufforderung ausgelöst.
  • Die Fehlerhandler für die asynchronen Methoden von GetDefaultAsync und FromIdAsync erhalten E_ACCESS_DENIED , wenn der Benutzer in der Zustimmungsaufforderung keine Berechtigung erteilt hat oder wenn die Berechtigung widerrufen wurde.
  • Wenn der Benutzer den Zugriff auf SMS nach dem Widerrufen erneut aktiviert, rufen Sie GetDefaultAsync oder FromIdAsync erneut auf, um auf SMS zuzugreifen. Der Fehlerhandler für E_ACCESS_DENIED Fehlers könnte beispielsweise eine Benutzeroberfläche anzeigen, um den Benutzer anzuweisen, SMS mithilfe des Einstellungs-Charms erneut zu aktivieren und dann auf eine Schaltfläche zu tippen, um den Zugriff auf SMS erneut zu versuchen. Der Code hinter der Schaltfläche sollte GetDefaultAsync oder FromIdAsync aufrufen, bevor andere Aufrufe ausgeführt werden.
  • Wenn die App sich für das SMS-Hintergrundereignis (Windows.ApplicationModel.Background.SystemTriggerType.SmsReceived) registriert, muss die App zuerst GetDefaultAsync oder FromIdAsync erneut aufrufen, um auf SMS zuzugreifen, um sicherzustellen, dass die App Zugriff hat. Der Aufruf von GetDefaultAsync oder FromIdAsync über die Hintergrundaufgabe löst keine Zustimmungsaufforderung aus. Wenn es sich um eine erstmalige Ausführung handelt oder der Benutzer keine Berechtigung erteilt hat oder wenn die Berechtigung widerrufen wird, erhält er eine E_ACCESS_DENIED.

Die erste Verwendung des SmsDevice-Objekts zum Aufrufen von FromIdAsync oder GetDefaultAsync durch In C# oder C++ geschriebene Anwendungen sollte im STA-Thread (Singlethreaded Apartment) erfolgen. Aufrufe aus einem MTA-Thread (Multithreaded Apartment) können zu einem undefinierten Verhalten führen.

Eigenschaften

AccountPhoneNumber

Gibt die Telefonnummer zurück, die dem SMS-Gerät zugeordnet ist. Die Telefonnummer kann verwendet werden, um eingehende Nachrichten dem Konto und möglicherweise einem externen Speichermechanismus wie einem Kontoeingang zuzuordnen.

CellularClass

Gibt die Mobilfunkklasse des SMS-Geräts zurück. Die -Klasse kann verwendet werden, um zu bestimmen, welche Codierungen geeignet sind oder welche Geräteeinschränkungen gelten.

DeviceStatus

Gibt den status des SMS-Geräts zurück, der angibt, ob das Gerät bereit ist. Außerdem wird angegeben, welche Art von Problem vorliegt, wenn das Gerät nicht bereit ist.

MessageStore

Greift auf den Nachrichtenspeicher auf dem Gerät zu. Der Speicher enthält Nachrichten, bis ein Client sie abrufen kann. Auf einigen Geräten kann der Speicher beispielsweise dem SIM-Speicher für SMS-Nachrichten entsprechen.

Methoden

CalculateLength(SmsTextMessage)

Schätzt die Länge der übertragenen Nachricht der angegebenen Textnachricht. Die Schätzung kann für Clients nützlich sein, die einen Hinweis darauf geben möchten, wie viele Nachrichten im Netzwerk gesendet werden, um den Text der vollständigen Nachricht zu enthalten.

FromIdAsync(String)

Erstellt eine instance von SmsDevice für das Gerät, das die SMS-Nachricht empfangen hat.

FromNetworkAccountIdAsync(String)

Erstellt eine instance von SmsDevice für die angegebene Konto-ID des Mobilen Breitbandnetzwerks.

GetDefaultAsync()

Erstellt eine instance eines SmsDevice-Objekts, das dem STANDARD-SMS-Gerät zugeordnet ist. Da das Gerät möglicherweise ausgelastet ist, wird der Vorgang asynchron ausgeführt. Das asynchrone Vorgangsobjekt gibt sofort zurück.

GetDeviceSelector()

Ruft die Klassenauswahlzeichenfolge ab, die zum Aufzählen von SMS-Geräten verwendet werden kann.

SendMessageAsync(ISmsMessage)

Sendet asynchron eine Nachricht über das SMS-Gerät. Die -Methode ist asynchron, da der Sendevorgang möglicherweise nicht sofort erfolgt. Das Nachrichtenvorgangsobjekt wird sofort zurückgegeben.

Ereignisse

SmsDeviceStatusChanged

Legt einen Ereignishandler fest, der aufgerufen werden soll, wenn sich die status des SMS-Geräts ändert.

SmsMessageReceived

Legt einen Ereignishandler fest, der aufgerufen werden soll, wenn das Gerät eine neue SMS empfängt.

Gilt für: