テキスト モード インターフェイスを使用して受信した SMS を読み込む
単純なプレーン テキスト SMS メッセージに適したテキスト モード読み取りインターフェイスと、SMS メッセージのデコードの高度な制御に適した PDU モード読み取りインターフェイスのいずれかを選択できます。
受信したメッセージは、モバイル ブロードバンド デバイスにエンコードされた形式で格納されます。 モバイル ブロードバンド SMS プラットフォームでは、受信したメッセージをプレーン テキストにデコードできます。 受信メッセージのデコードでサポートされる文字セットは、送信されたメッセージのエンコードでサポートされる文字セットと同じです。
次の表に、テキスト モード API でサポートされる文字エンコードの一覧を示します。
ネットワークの種類 | 文字セット | 1 つの SMS セグメントの文字制限 | マルチパート SMS セグメントの文字制限 |
---|---|---|---|
GSM |
GSM 7 ビットの既定のアルファベットと GSM 7 ビットの既定のアルファベット拡張テーブル |
160 |
142 |
CDMA |
7 ビット ASCII |
160 (ネットワークによって異なる場合があります) |
|
CDMA |
Unicode |
70 (ネットワークによって異なる場合があります) |
テキスト モード インターフェイスを使用して受信した SMS メッセージを読み取る 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 によって提供されるデコードされたセグメント化情報を使用して、長いメッセージの複数のセグメントを連結し、メッセージ全体を再構築できます。 セグメント化された SMS メッセージの詳細については、「Windows が長いメッセージを自動的にセグメント化する」を参照してください。