แป้นโทรศัพท์มีเฟรมเวิร์กการแก้ไขข้อบกพร่องและการทดสอบแบบรวมที่ช่วยให้คุณตรวจสอบฟีเจอร์ของแอปแป้นโทรศัพท์ได้โดยไม่ต้องใช้อุปกรณ์ที่พร้อมโทร ซึ่งทำให้ไม่ต้องใช้บลูทูธและโทรศัพท์ที่เชื่อมต่อกับบริการเครือข่ายมือถือ เฟรมเวิร์กการทดสอบเครื่องมือโทร (DTF) นี้ช่วยลดความซับซ้อนของกระบวนการต่อไปนี้
- การตั้งค่าอุปกรณ์จริงเพื่อทดสอบแนวคิดอย่างรวดเร็วมักจะใช้เวลานาน
- การทดสอบฟีเจอร์การโทรหลายสายต้องใช้โทรศัพท์ที่มีซิมการ์ดอย่างน้อย 3 เครื่อง โดย 2 เครื่องจะใช้เพื่อโทรออกเท่านั้น
- การแก้ไขข้อบกพร่องของ Dialer และทรัพยากร Dependency ที่เกี่ยวข้อง
เนื่องจากฟังก์ชันการทำงานของ Dialer ขึ้นอยู่กับสแต็กเทคโนโลยีหลายอย่าง เช่น เทเลคอม โทรศัพท์ และโปรไฟล์แฮนด์ฟรีบลูทูธ (HFP) ข้อบกพร่องและปัญหาที่เกิดขึ้นในองค์ประกอบเหล่านั้นอาจทำให้ Dialer ทำงานไม่เสถียร DTF ช่วยให้ Dialer ทำงานได้โดยไม่ขึ้นอยู่กับทรัพยากรเหล่านี้
ฟีเจอร์
DTF มีฟีเจอร์ต่อไปนี้
- ตําแหน่งการโทร โทรออกและรับสายโดยไม่ต้องใช้อุปกรณ์ที่พร้อมโทรผ่านเทอร์มินัลที่มีการออกอากาศ Android Debug Bridge (adb)
- การโทรจำลอง มีการจำลองฟังก์ชันการโทร ซึ่งรวมถึงการหยุดชั่วคราว การปิดเสียง การรวม และการตัดการเชื่อมต่อ
ใช้ DTF
หมายเหตุ: DTF ใช้ได้ใน Android 11 ขึ้นไปเท่านั้น
วิธีใช้ DTF
- บิลด์และติดตั้งตัวแปรของบิวด์
CarDialerAppForTesting
ดังนี้cd %rRepoRoot%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
ด้วยเหตุนี้
CarDialerAppForTesting
จึงมาแทนที่แอปโทรศัพท์เดิมในอุปกรณ์ทดสอบCarDialerAppForTesting
ไม่ทำงานกับอุปกรณ์จริง หากต้องการทดสอบกับอุปกรณ์จริง ให้ติดตั้งCarDialerApp.apk
อีกครั้ง
คำสั่ง
คำสั่ง adb ต่อไปนี้จะใช้งานได้หลังจากที่เปิด Dialer เป็นครั้งแรกเท่านั้น และจำเป็นต้องมีการเริ่มต้นใช้งานตัวรับการออกอากาศ หลังจากเปิด Dialer แล้ว อุปกรณ์บลูทูธจำลองจะต้องเชื่อมต่ออยู่ ใช้คําสั่ง (ตั้งค่า) เชื่อมต่ออุปกรณ์ต่อไปนี้
(ตั้งค่า) เชื่อมต่ออุปกรณ์
สร้างการเชื่อมต่อบลูทูธจำลองกับ Dialer และต้องเรียกใช้ก่อนเพื่อให้เข้าถึงคําสั่งทั้งหมดที่เกี่ยวข้องกับการโทรได้
วิธีเชื่อมต่ออุปกรณ์
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
หมายเหตุ: คุณจะใช้คำสั่งต่อไปนี้ได้ก็ต่อเมื่อเชื่อมต่ออุปกรณ์บลูทูธจำลองแล้วเท่านั้น
โทรออก
วิธีโทรออก
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"
รับสายเรียกเข้า
วิธีรับสายเรียกเข้า
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"
วางสาย
วิธีวางสาย
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"
พักสายปัจจุบัน
วิธีพักสายปัจจุบัน
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"
เลิกพักสายปัจจุบัน
วิธียกเลิกการพักสายปัจจุบัน
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
รวมสาย
รวมสายหลักและรองเป็นการประชุมสาย คำสั่งนี้จะใช้งานได้ก็ต่อเมื่อมีทั้งการเรียกใช้หลักและรอง การประชุมทางโทรศัพท์ที่มีอยู่จะถือว่าเป็นบุคคลเดียว
วิธีรวมสาย
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
ล้างการโทรทั้งหมด
วิธีนำการโทรทั้งหมดในรายการการโทรออก
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"
บิลด์โปรแกรมจำลอง
บางครั้งนักพัฒนาซอฟต์แวร์อาจต้องการทดสอบการเปลี่ยนแปลง UI ในโปรแกรมจำลอง ในกรณีเช่นนี้ CarDialerAppEmulatorBuild
จะให้การตั้งค่าที่ง่ายขึ้นและฟังก์ชันการทำงานที่จำกัดเมื่อเทียบกับ DTF ที่มีประสิทธิภาพมากกว่า
ข้อมูลการทดสอบ
เมื่อเปิด Dialer ระบบจะข้ามหน้าข้อผิดพลาดของบลูทูธและแสดงเนื้อหาหลักของ TelecomActivity
รายชื่อติดต่อและบันทึกการโทรจะแสดงในอุปกรณ์ นักพัฒนาแอปสามารถใช้แอปรายชื่อติดต่อที่มีให้ในเครื่องเพื่อสร้างรายชื่อติดต่อทดสอบหรือนําเข้าไฟล์ .vcf
การจําลองการเรียกใช้
หากต้องการจำลองสายเรียกเข้า ให้ใช้ Android Emulator เพื่อส่งคำสั่ง Telnet ดูข้อมูลเพิ่มเติมได้ที่หัวข้อเรียกใช้แอปในโปรแกรมจำลอง Android และส่งคําสั่งคอนโซลของโปรแกรมจําลอง
telnet localhost 5554 gsm call xxx-xxx-xxxx
การโทรในแอปโทรศัพท์หรือการออกอากาศ Intent การโทรจะเริ่มต้นการโทรออก
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx