使用文本模式界面读取收到的短信

可以选择使用适用于简单纯文本短信的文本模式读取接口,也可以使用适用于短信解码的高级控制的 PDU 模式读取接口。

收到的消息以编码格式存储在移动宽带设备上。 移动宽带短信平台支持将收到的消息解码为纯文本。 支持解码接收的消息的字符集与编码发送的消息支持的字符集相同。

下表列出了文本模式 API 支持的字符编码:

网络类型 字符集 单个 SMS 段的字符限制 多部分 SMS 段的字符限制

GSM

GSM 7 位默认字母表和 GSM 7 位默认字母扩展表

160

142

CDMA

7 位 ASCII

160 (可能因网络) 而异

CDMA

Unicode

70 (可能因网络) 而异

使用文本模式接口读取收到的短信的 JavaScript 代码示例

try
{
  if (smsDevice!= null)
  {
    var messageStore = smsDevice.messageStore;
    var messageID = id('whichMessage').value;

    var getSmsMessageOperation = messageStore.getMessageAsync(messageID);

    getSmsMessageOperation.operation.completed = function ()
    {
      result = getSmsMessageOperation.operation.getResults();
      var readableMessage = new Windows.Devices.Sms.SmsTextMessage.fromBinaryMessage(result);
      id('fromWho').innerHTML = readableMessage.from;
      id('fromMessageBody').innerHTML = readableMessage.body;
      console.log("Successfully retrieved message " + messageID + " from message store.");
    }
    getSmsMessageOperation.operation.start();
  }
  else 
  {
    console.log("No SMS Device Found");
  }
}
catch (err) 
{
  console.log("SMS did not set up: " + err);
}

注意 SMS 客户端应用可以使用 Windows 提供的解码分段信息来连接长消息的多个段并重新构造完整消息。 有关分段短信的详细信息,请参阅 Windows 自动分段长消息

开发短信应用