使用文本模式界面读取收到的短信
可以选择使用适用于简单纯文本短信的文本模式读取接口,也可以使用适用于短信解码的高级控制的 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 自动分段长消息。