Mengirim SMS dengan menggunakan set karakter kustom
Jika Anda memerlukan akses ke unit data protokol pesan mentah (PDU) untuk mencapai skenario yang tidak didukung oleh antarmuka mode teks, Windows 8, Windows 8.1, dan Windows 10 mengaktifkan pengiriman dan pembacaan pesan SMS yang diterima mode PDU.
Anda mungkin perlu menggunakan antarmuka SMS mode PDU dalam kasus berikut:
Untuk mengirim atau membaca SMS yang diterima dengan menggunakan Tabel Shift Tunggal Bahasa Nasional atau Tabel Shift Penguncian Bahasa Nasional seperti yang didefinisikan dalam 3GPP TS 23.038.
Untuk mengirim SMS multi-bagian menggunakan set karakter yang berbeda untuk setiap segmen.
Contoh kode JavaScript untuk mengirim pesan SMS dengan menggunakan antarmuka 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;
}
Contoh kode JavaScript untuk membaca pesan SMS yang diterima dengan menggunakan antarmuka 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");
}
}
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk