Android 7.0 ย้ายฟังก์ชันการทำงานที่เกี่ยวข้องกับการแจ้งเตือนการโทรจาก บริการระบบ Telecom ในแพลตฟอร์ม Android ไปยังแอปโทรศัพท์ ก่อนหน้านี้ ความรับผิดชอบในการแสดงการแจ้งเตือนที่เกี่ยวข้องกับการโทร จะแยกกันระหว่าง Telecom กับแอปโทรศัพท์เริ่มต้น ซึ่งทำให้เกิดความไม่สอดคล้องกันใน ลักษณะการทำงาน ใน Android 7.0 โปรแกรมโทรศัพท์จะรับผิดชอบทั้งหมดในการจัดการ การแจ้งเตือนการโทร
ลักษณะการทำงานใน Android 6.x และต่ำกว่า
ใน Android รุ่นก่อนหน้า Telecom และ Dialer จะแบ่งความรับผิดชอบตามที่อธิบายไว้ในตารางต่อไปนี้
| ฟังก์ชันการทำงาน | ดำเนินการโดย Telecom | ดำเนินการโดย Dialer |
|---|---|---|
| การแจ้งเตือนสายเรียกเข้า | ใช่ (มีเสียงเรียกเข้า สั่น) | ใช่ (การแสดงการแจ้งเตือน หมายเลขผู้โทร) |
| ส่งไปยังข้อความเสียง | ใช่ | ไม่ |
| เสียงเรียกเข้าที่กำหนดเอง | ใช่ | ไม่ |
| การแจ้งเตือนสายที่ไม่ได้รับ | ใช่ | ไม่ |
| สัญญาณบอกสถานะข้อความที่รออยู่ (โทรหาข้อความเสียง) | ใช่ (โทรศัพท์) | ไม่ |
| การแจ้งเตือนข้อความเสียงพร้อมภาพ | ไม่ | ใช่ |
ตัวอย่างพฤติกรรมที่ไม่สอดคล้องกันซึ่งเกิดจากการแบ่งความรับผิดชอบนี้ ได้แก่
- Telecom มีหน้าที่เริ่มเสียงเรียกเข้า/การสั่น แต่ Dialer มีหน้าที่แสดงการแจ้งเตือนสายเรียกเข้า หากโปรแกรมโทรศัพท์เริ่มทำงานช้า การโทรจะเริ่มดังก่อนที่ การแจ้งเตือนสายเรียกเข้าจะแสดงขึ้นหลายวินาที
- Telecom มีหน้าที่รับผิดชอบในการแสดงการแจ้งเตือนสายที่ไม่ได้รับ เนื่องจากฟีเจอร์ที่เป็นกรรมสิทธิ์ (เช่น หมายเลขผู้โทรของ Google) ไม่ทำงานในการแจ้งเตือนเหล่านี้ จึงอาจส่งผลให้เกิดความไม่สอดคล้องกันระหว่างการแจ้งเตือนของ Telecom กับ UI ของ Dialer (เช่น บันทึกการโทร)
ลักษณะการทำงานใน Android 7.0 ขึ้นไป
โปรแกรมโทรศัพท์ของโครงการโอเพนซอร์ส Android (AOSP) จะใช้ฟังก์ชันใหม่ ดูรายละเอียดได้ที่เอกสารประกอบต่อไปนี้
- การแจ้งเตือนสายที่ไม่ได้รับ
Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java
Dialer/android/dialer/calllog/MissedCallNotifier.java - การเล่นเสียงเรียกเข้า
frameworks/base/telecomm/java/android/telecom/InCallService.java
Telecom/src/com/android/server/telecom/InCallController.java
Dialer/java/com/android/incallui/ringtone/
Dialer/java/com/android/incallui/StatusBarNotifier.java - การแจ้งเตือน VVM
frameworks/base/telephony/java/android/telephony/TelephonyManager.java
Telephony/src/com/android/phone/PhoneInterfaceManager.java
Dialer/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
รูปแบบการแจ้งเตือนสำหรับการโทรใน Android 12 ขึ้นไป
สำหรับอุปกรณ์ที่ใช้ Android 12 ขึ้นไป เราขอแนะนำให้แอปใช้รูปแบบการแจ้งเตือน
CallStyle สำหรับสายเรียกเข้าและสายที่กำลังสนทนา เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สอดคล้องกันสำหรับการโทร
ดูข้อมูลเพิ่มเติมได้ที่
การแจ้งเตือนการโทรใหม่ที่อนุญาตให้จัดอันดับความสำคัญของการโทรเข้า
การใช้งาน
ผู้ติดตั้งใช้งานอุปกรณ์อาจต้องอัปเดตคอมโพเนนต์ Telecom/Telephony ที่ เปิดเผย API ที่พร้อมให้ใช้โดย Dialer เริ่มต้น