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

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

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

เนื่องจากฟังก์ชันการทำงานของโทรศัพท์ขึ้นอยู่กับกลุ่มเทคโนโลยีหลายอย่าง ได้แก่ Telecom, Telephony และ Bluetooth Hands Free Profile (HFP) ข้อบกพร่องและปัญหาที่เกิดขึ้นในทรัพยากร Dependency เหล่านี้ ทำให้แป้นโทรศัพท์ทำงานไม่สม่ำเสมอ DTF จะช่วยให้โปรแกรมโทรศัพท์เรียกใช้ทรัพยากร Dependency เหล่านี้ได้อย่างอิสระ

ฟีเจอร์

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 ต่อไปนี้ใช้งานได้เฉพาะหลังจากเปิดโปรแกรมโทรศัพท์เป็นครั้งแรกและต้องใช้ Broadcast Receiver จะเริ่มต้น หลังจากเปิดใช้งานแป้นโทรศัพท์ อุปกรณ์บลูทูธปลอมจะต้อง เชื่อมต่อกันได้ ใช้คำสั่งต่อไปนี้ (ตั้งค่า) คำสั่ง "เชื่อมต่ออุปกรณ์" เพื่อดำเนินการดังกล่าว

(ตั้งค่า) เชื่อมต่ออุปกรณ์

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

วิธีเชื่อมต่ออุปกรณ์

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 ที่มีประสิทธิภาพมากกว่า

ข้อมูลการทดสอบ

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

การล้อเลียนการโทร

หากต้องการจำลองการโทรเข้า ให้ใช้โปรแกรมจำลองของ Android เพื่อส่งคำสั่ง Telnet ดูข้อมูลเพิ่มเติมได้ที่ เรียกใช้แอปในโปรแกรมจำลองของ Android และ ส่งคำสั่งคอนโซลโปรแกรมจำลอง

telnet localhost 5554
gsm call xxx-xxx-xxxx

การโทรออกในแอปโทรศัพท์หรือการประกาศเจตนาการโทรจะเป็นการเริ่มโทรออก

adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx