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.

โทรศัพท์<br />

183<br />

กรรมวิธี: การอ่านค่าสถานะของโทรศัพท์<br />

คลาส PhoneStateListener จะใช้ในการแสดงข้อมูลของสถานะต่างๆ ของระบบโทรศัพท์<br />

รวมทั้งการทำงานของเครือข่ายสัญญาณ ความแรงของสัญญาณที่ได้รับ และข้อความวอยซ์เมล์ต่างๆ<br />

ซึ่งค่าบางค่าจำเป็นต้องใช้สิทธิ์ในการทำงาน ดังแสดงในตารางที่ 7.2<br />

ตารางที่ 7.2 แสดงอีเวนต์ที่เกิดขึ้นในระบบโทรศัพท์และระดับสิทธิ์ที่ต้องใช้ในการเข้าถึงข้อมูล<br />

สถานะของระบบโทรศัพท์ รายละเอียด สิทธิ์ที่ใช้งานได้<br />

LISTEN_CALL_FORWARDING_INDI-<br />

CATOR<br />

สถานะการโอนสาย<br />

READ_PHONE_STATE<br />

LISTEN_CALL_STATE สถานะของการเรียกสาย READ_PHONE_STATE<br />

LISTEN_CELL_LOCATION สถานะการเปลี่ยนเซลล์ไซต์ ACCESS_COARSE_LOCATION<br />

LISTEN_DATA_ACTIVITY การเปลี่ยนทิศทางการส่งข้อมูล READ_PHONE_STATE<br />

LISTEN_DATA_CONNECTION_STATE สถานะการเชื่อมต่อข้อมูล None<br />

LISTEN_MESSAGE_WAITING_<br />

INDICATOR<br />

สถานะของข้อความเข้า<br />

LISTEN_NONE ยกเลิกการทำางานของ Listener None<br />

LISTEN_SERVICE_STATE สถานะของเครือข่าย None<br />

LISTEN_SIGNAL_STRENGTHS สถานะความแรงของสัญญาณ None<br />

READ_PHONE_STATE<br />

สำหรับตัวอย่างนี้ เราจะทำการรอสายเรียกเข้า โดยใช้คลาส TelephonyManager มาตรวจจับ<br />

อีเวนต์ PhoneStateListener.LISTEN_CALL_STATE ซึ่งสถานะของการเรียกเข้ามีดังนี้<br />

m CALL_STATE_IDLE – อุปกรณ์ยังไม่ถูกใช้งาน<br />

m CALL_STATE_RINGING – อุปกรณ์กำลังส่งเสียงสายเรียกเข้า<br />

m CALL_STATE_OFFHOOK – อุปกรณ์กำลังรับสายเรียกเข้า

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

Saved successfully!

Ooh no, something went wrong!