Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Si vous avez besoin d’accéder à des unités de données de protocole de message brutes (PDU) pour réaliser des scénarios qui ne sont pas pris en charge par l’interface en mode texte, Windows 8, Windows 8.1 et Windows 10 activer l’envoi et la lecture en mode PDU des messages SMS reçus.
Vous devrez peut-être utiliser l’interface SMS en mode PDU dans les cas suivants :
Pour envoyer ou lire des SMS reçus à l’aide d’une table de décalage unique de langue nationale ou d’une table de décalage de verrouillage de la langue nationale, comme défini dans 3GPP TS 23.038.
Pour envoyer des SMS en plusieurs parties à l’aide de jeux de caractères différents pour chaque segment.
Exemple de code JavaScript pour envoyer des messages SMS à l’aide de l’interface en mode PDU
function smsDevicePDUSend()
{
if (smsDevice !== null)
{
// Defines a binary message
var smsMessage = new Windows.Devices.Sms.SmsBinaryMessage();
var messsagePdu = “0011000B914152828377F90000AA0CC8F71D14969741F977FD07”;
var messagePduByteArray = hexToByteArray(messsagePdu);
smsMessage.setData(messagePduByteArray);
if (smsDevice.cellularClass === Windows.Devices.Sms.CellularClass.gsm)
{
smsMessage.format = Windows.Devices.Sms.SmsDataFormat.gsmSubmit;
}
else
{
smsMessage.format = Windows.Devices.Sms.SmsDataFormat.cdmaSubmit;
}
var sendSmsMessageOperation = smsDevice.sendMessageAsync(smsMessage);
sendSmsMessageOperation.done(function (reply) {
WinJS.log("Sent message in PDU format", "sample", "status");
}, errorCallback);
}
// Used to convert hex PDU to byte array for sending SMS using PDU //mode
function hexToByteArray(hexString)
{
var result = [];
var hexByte = "";
var decByte = 0;
for (var i = 0; i < hexString.length; i = i + 2) {
hexByte = hexString.substring(i, i + 2);
decByte = parseInt(hexByte, 16);
result.push(decByte);
}
return result;
}
Exemple de code JavaScript pour lire les messages SMS reçus à l’aide de l’interface en mode PDU
function smsDeviceRead()
{
try
{
if (smsDevice !== null)
{
var messageStore = smsDevice.messageStore;
var messageID = “1” // select a Message Id to read
// Check for a valid ID number
if (isNaN(messageID) || messageID < 1 || messageID > messageStore.maxMessages)
{
WinJS.log("Invalid ID number", "sample", "error");
return;
}
var getSmsMessageOperation = messageStore.getMessageAsync(messageID);
// Display message when get is completed
getSmsMessageOperation.done(smsMessageReadSuccess, errorCallback);
}
}
catch (err) {
// handle error
}
}
function smsMessageReadSuccess(smsMessage)
{
try
{
if (smsMessage instanceof SmsBinaryMessage) {
var format = smsMessage.format;
var pduData = smsMessage.getData(); // byte array
}
catch (err)
{
WinJS.log("SMS did not set up: " + err, "sample", "error");
}
}