20.11.2016 Views

Android App Development ฉบับสมบูรณ์

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

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

6. จะปรากฏหน้าต่างสำหรับเขียนโค้ดลงในไฟล์ SMSDroidReceiver.java ดังรูป<br />

7. แก้ไขโค้ด Java ในไฟล์ SMSDroidReceiver.java ดังนี้<br />

package com.android.example.smsdroid;<br />

import android.content.BroadcastReceiver;<br />

import android.content.Context;<br />

import android.content.Intent;<br />

import android.os.Bundle;<br />

import android.telephony.SmsMessage;<br />

import android.widget.Toast;<br />

public class SMSDroidReceiver extends BroadcastReceiver {<br />

private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";<br />

}<br />

@Override<br />

public void onReceive(Context context, Intent intent) {<br />

if (intent.getAction().equals(SMS_RECEIVED)) {<br />

Bundle bundle = intent.getExtras();<br />

if (bundle != null) {<br />

Object[] pdus = (Object[]) bundle.get("pdus");<br />

final SmsMessage[] messages = new SmsMessage[pdus.length];<br />

for (int i = 0; i < pdus.length; i++) {<br />

messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);<br />

}<br />

if (messages.length > -1) {<br />

Toast.makeText(context, "Message From :"<br />

+ messages[0].getOriginatingAddress()<br />

+ "\n" + messages[0].getMessageBody(),<br />

Toast.LENGTH_LONG).show();<br />

}<br />

}<br />

}<br />

}<br />

อธิบายโค้ดการทำงานของแอพพลิเคชัน<br />

1. สร้างคลาส SMSDroidReceiver โดยขยายมาจากคลาส BroadcastReceiver เพื่อดักจับเหตุการณ์<br />

ต่างๆ ของตัวเครื่องเมื่อมีการเปลี่ยนแปลง<br />

public class SMSDroidReceiver extends BroadcastReceiver {<br />

บทที ่ 8 การพัฒนาแอพพลิเคชันรับส่งข้อความ (SMS) 167

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

Saved successfully!

Ooh no, something went wrong!