ใน Android 10 บริการแนะนำบัญชีโทรศัพท์อนุญาตให้แสดงคำแนะนำสำหรับบัญชีโทรศัพท์ให้ผู้ใช้เห็นเมื่อโทรออก ตัวอย่างเช่น สำหรับผู้ใช้ที่มีอุปกรณ์ที่มีหลายซิมและมีอัตราการโทรภายในเครือข่ายต่ำกว่า บริการนี้จะระบุผู้ให้บริการของผู้โทรก่อน จากนั้นจึงแนะนำให้ใช้ซิมในเครือข่ายเดียวกันกับผู้โทร
บริการแนะนำบัญชีโทรศัพท์เป็นทางเลือกและสามารถใช้งานได้บนอุปกรณ์ที่ใช้ Android 10 ขึ้นไป
การนำไปปฏิบัติ
หากต้องการใช้คำแนะนำบัญชีโทรศัพท์ ให้ใช้บริการ PhoneAccountSuggestionService
หนึ่ง บริการในแอปที่อยู่ใน /system/priv-app/
ไม่มีการสอบถามบริการหากมีการใช้งาน PhoneAccountSuggestionService
มากกว่าหนึ่งรายการ บริการจะต้องประกาศสิทธิ์ android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE
เมื่อผู้ใช้โทรออกโดยไม่ได้ตั้ง ค่าบัญชีโทรศัพท์ออกเริ่มต้น หรือ บัญชีโทรศัพท์ที่ต้องการไว้ สำหรับผู้โทร บริการโทรคมนาคมจะผูกกับ PhoneAccountSuggestionService
เพื่อรวบรวมข้อมูลเกี่ยวกับบัญชี onAccountSuggestionRequest(String number)
จะถูกเรียก และสายโทรออก กระบวนการถูกระงับ
PhoneAccountSuggestionService
ต้องเรียก suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
พร้อมด้วยหมายเลขที่ส่งคืนโดย onAccountSuggestionRequest(String number)
เมื่อมีการเรียก suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions)
บริการโทรคมนาคมจะส่งกลับรายการบัญชีโทรศัพท์ที่แนะนำ ผู้โทรจะต้องแสดงรายการบัญชีโทรศัพท์ที่แนะนำเพื่อให้ผู้ใช้เลือกเพื่อโทรออก
ข้อเสนอแนะบัญชีโทรศัพท์
หากต้องการให้คำแนะนำ ให้ใช้คลาส PhoneAccountSuggestion ตัวอย่างเช่น หากบริการระบุว่าผู้โทรอยู่ในผู้ให้บริการรายเดียวกับหนึ่งในซิมในอุปกรณ์ บริการควรทำเครื่องหมายบัญชีโทรศัพท์ด้วย REASON_INTRA_CARRIER
ข้อมูลนี้สามารถถ่ายทอดไปยังผู้ใช้ในโปรแกรมโทรออก
ตัวอย่างเช่น ในสถานการณ์ที่ผู้ใช้กำหนดค่าอุปกรณ์ให้ใช้ SIM ที่ทำงานสำหรับผู้ติดต่อทั้งหมดในบัญชี Google ที่ทำงาน บริการควรทำเครื่องหมายบัญชีโทรศัพท์ด้วย REASON_USER_SET
และตั้งค่า shouldAutoSelect
เป็น true เพื่อให้ผู้โทรสามารถข้ามกล่องโต้ตอบการเลือกได้ และโทรออกโดยอัตโนมัติโดยใช้บัญชีโทรศัพท์
สำหรับข้อมูลเกี่ยวกับคำแนะนำอื่นๆ โปรดดู PhoneAccountSuggestion
โปรแกรมโทรออก
เมื่อการโทรเข้าสู่สถานะ STATE_SELECT_PHONE_ACCOUNT
ผู้โทรต้องใช้ข้อมูลจาก PhoneAccountSuggestion
เพื่อจัดการ EXTRA_SUGGESTED_PHONE_ACCOUNTS
ปิดการใช้งานบริการ
หากต้องการปรับแต่งการใช้งานของคุณสำหรับผู้ให้บริการบางราย คุณสามารถเปิดหรือปิดใช้งานบริการได้โดยใช้ setComponentEnabledSetting
บริการจะไม่ถูกสอบถามหากปิดใช้งาน
การใช้งานระบบ UI
อาจจำเป็นต้องเปลี่ยนแปลง UI ของระบบ ทั้งนี้ขึ้นอยู่กับการใช้งานของคุณ ตัวอย่างเช่น หากต้องการอนุญาตให้ผู้ใช้สามารถระบุว่าการโทรทั้งหมดไปยังผู้ติดต่อเฉพาะนั้นทำจากบัญชีโทรศัพท์เฉพาะ คุณต้องใช้ขั้นตอนการตั้งค่าและ UI การตั้งค่าที่กำหนดเองสำหรับอุปกรณ์
การตรวจสอบ
หากต้องการตรวจสอบการใช้งานของคุณ ให้รันการทดสอบ CTS ต่อไปนี้:
-
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionServiceTest.java
-
/cts/tests/tests/telecom/src/android/telecom/cts/PhoneAccountSuggestionTest.java