SmsDevice 类

定义

支持移动宽带短信设备的操作。

注意

此功能仅适用于由移动网络运营商、移动宽带适配器 IHV 或 OEM 授予特权访问权限的移动运营商应用和 UWP 应用。 有关详细信息,请参阅 移动宽带

注意

支持此类及其方法维护在早期版本的 Windows 中使用它的旧桌面应用。 如果确实使用此类,则必须在应用的清单中指定 Windows.Devices.Sms.LegacySmsApiContract 。 如果要开发适用于 Windows 的新应用,请不要使用此类。 请改用此命名空间中不需要 Windows.Devices.Sms.LegacySmsApiContract 的 API。

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
继承
Object Platform::Object IInspectable SmsDevice
属性
实现

Windows 要求

设备系列
Windows Desktop Extension SDK (在 10.0.10240.0 中引入)
API contract
Windows.Devices.Sms.LegacySmsApiContract (在 v1.0 中引入)
应用功能
cellularMessaging sms

注解

如果用户撤销访问权限,则使用 Windows.Devices.Sms API 发送或接收短信的应用会失败 并E_ACCESS_DENIED

如果已向应用授予了对短信设备的访问权限:

使用 C# 或 C++ 编写的应用程序首次使用 SmsDevice 对象调用 FromIdAsyncGetDefaultAsync 应在单线程单元 (STA) 线程上。 从多线程单元 (MTA) 线程调用可能会导致未定义的行为。

属性

AccountPhoneNumber

返回与 SMS 设备关联的电话号码。 电话号码可用于将传入邮件与帐户关联,并可能将外部存储机制(如帐户收件箱)关联。

CellularClass

返回 SMS 设备的手机网络类。 类可用于确定哪些编码适用或哪些设备限制有效。

DeviceStatus

返回短信设备的状态,指示设备是否已准备就绪。 它还指示设备未就绪时存在哪种类型的问题。

MessageStore

访问设备上的消息存储。 存储会保留消息,直到客户端可以检索它们。 例如,在某些设备上,存储可能与短信的 SIM 存储相对应。

方法

CalculateLength(SmsTextMessage)

估计指定文本消息的传输消息长度。 对于想要指示网络上发送多少条消息以携带完整消息文本的客户端,此估算值可能很有用。

FromIdAsync(String)

为接收短信的设备创建 SmsDevice 实例。

FromNetworkAccountIdAsync(String)

为指定的移动宽带网络帐户 ID 创建 SmsDevice 实例。

GetDefaultAsync()

创建与默认 SMS 设备关联的 SmsDevice 对象的实例。 由于设备可能正忙,因此操作以异步方式执行。 异步操作对象立即返回。

GetDeviceSelector()

检索可用于枚举 SMS 设备的类选择字符串。

SendMessageAsync(ISmsMessage)

使用 SMS 设备异步发送消息。 方法是异步的,因为发送操作可能不会瞬间发生。 消息操作对象将立即返回。

事件

SmsDeviceStatusChanged

设置在 SMS 设备的状态更改时调用的事件处理程序。

SmsMessageReceived

设置在设备收到新文本消息时要调用的事件处理程序。

适用于