แก้ไขข้อบกพร่องและทดสอบ

แป้นโทรศัพท์มีเฟรมเวิร์กการแก้ไขข้อบกพร่องและการทดสอบแบบรวมที่ช่วยให้คุณตรวจสอบฟีเจอร์ของแอปแป้นโทรศัพท์ได้โดยไม่ต้องใช้อุปกรณ์ที่พร้อมโทร ซึ่งทำให้ไม่ต้องใช้บลูทูธและโทรศัพท์ที่เชื่อมต่อกับบริการเครือข่ายมือถือ เฟรมเวิร์กการทดสอบเครื่องมือโทร (DTF) นี้ช่วยลดความซับซ้อนของกระบวนการต่อไปนี้

  • การตั้งค่าอุปกรณ์จริงเพื่อทดสอบแนวคิดอย่างรวดเร็วมักจะใช้เวลานาน
  • การทดสอบฟีเจอร์การโทรหลายสายต้องใช้โทรศัพท์ที่มีซิมการ์ดอย่างน้อย 3 เครื่อง โดย 2 เครื่องจะใช้เพื่อโทรออกเท่านั้น
  • การแก้ไขข้อบกพร่องของ Dialer และทรัพยากร Dependency ที่เกี่ยวข้อง

เนื่องจากฟังก์ชันการทำงานของ Dialer ขึ้นอยู่กับสแต็กเทคโนโลยีหลายอย่าง เช่น เทเลคอม โทรศัพท์ และโปรไฟล์แฮนด์ฟรีบลูทูธ (HFP) ข้อบกพร่องและปัญหาที่เกิดขึ้นในองค์ประกอบเหล่านั้นอาจทำให้ Dialer ทำงานไม่เสถียร DTF ช่วยให้ Dialer ทำงานได้โดยไม่ขึ้นอยู่กับทรัพยากรเหล่านี้

ฟีเจอร์

DTF มีฟีเจอร์ต่อไปนี้

  • ตําแหน่งการโทร โทรออกและรับสายโดยไม่ต้องใช้อุปกรณ์ที่พร้อมโทรผ่านเทอร์มินัลที่มีการออกอากาศ Android Debug Bridge (adb)
  • การโทรจำลอง มีการจำลองฟังก์ชันการโทร ซึ่งรวมถึงการหยุดชั่วคราว การปิดเสียง การรวม และการตัดการเชื่อมต่อ

ใช้ DTF

หมายเหตุ: DTF ใช้ได้ใน Android 11 ขึ้นไปเท่านั้น

วิธีใช้ DTF

  1. บิลด์และติดตั้งตัวแปรของบิวด์ 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