20.11.2016 Views

ANDROID APP

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

196 บทที่ 8 เครือข่าย<br />

ขั้นตอนข้างต้นนี้เป็นลำดับของการส่งข้อความ SMS แต่อย่างไรก็ตาม เราจะต้องกำหนดค่า<br />

เพิ่มเติมอีก 3 อย่าง เพื่อให้การทำงานที่สมบูรณ์ ดังนี้<br />

m ค่าของศูนย์บริการข้อความ SMS ซึ่งถ้ากำหนดค่านี้เป็น null ระบบจะใช้ค่าที่กำหนดมา<br />

จากผู้ให้บริการเครือข่ายโทรศัพท์<br />

m ค่าของ PendingIntent เพื่อตรวจสอบสถานะการส่งข้อความ<br />

m ค่าของ PendingIntent เพื่อตรวจสอบสถานะการรับข้อความ<br />

การใช้งานค่า PendingIntent เพื่อตรวจสอบสถานะของข้อความที่รับ-ส่งนั้น ใช้คำสั่งดังนี้<br />

String SENT_SMS_FLAG = “SENT_SMS”;<br />

String DELIVER_SMS_FLAG = “DELIVER_SMS”;<br />

Intent sentIn = new Intent(SENT_SMS_FLAG);<br />

PendingIntent sentPIn = PendingIntent.getBroadcast(this,0,sentIn,0);<br />

Intent deliverIn = new Intent(SENT_SMS_FLAG);<br />

PendingIntent deliverPIn<br />

= PendingIntent.getBroadcast(this,0,deliverIn,0);<br />

จากนั้น BroadcastReceiver จำเป็นต้องถูกรีจีสเตอร์ให้กับ PendingIntent แต่ละตัวเพื่อ<br />

ให้ได้ผลลัพธ์ดังนี้<br />

BroadcastReceiver sentReceiver = new BroadcastReceiver(){<br />

@Override public void onReceive(Context c, Intent in) {<br />

switch(getResultCode()){<br />

case Activity.RESULT_OK:<br />

//sent SMS message successfully;<br />

break;<br />

default:<br />

//sent SMS message failed<br />

break;<br />

}<br />

}<br />

};<br />

BroadcastReceiver deliverReceiver = new BroadcastReceiver(){<br />

@Override public void onReceive(Context c, Intent in) {<br />

//SMS delivered actions<br />

}<br />

};<br />

registerReceiver(sentReceiver, new IntentFilter(SENT_SMS_FLAG));<br />

registerReceiver(deliverReceiver, new IntentFilter(DELIVER_SMS_FLAG));<br />

ขนาดของข้อความ SMS ส่วนใหญ่จะจำกัดอยู่ที่ 140 ตัวอักษรต่อข้อความ โดยกระบวนการ<br />

ตรวจสอบเพื่อให้แน่ใจว่าข้อความที่จะส่งนั้นมีความยาวไม่เกินจากที่กำหนดไว้ เราจะใช้เมธอด<br />

divideMessage() เพื่อตัดข้อความในกรณีที่ข้อความมีขนาดยาวเกินกว่า 140 ตัวอักษร

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!