Android 7.0 ย้ายฟังก์ชันการทำงานที่เกี่ยวข้องกับการแจ้งเตือนการโทรจากบริการระบบ Telecom ในแพลตฟอร์ม Android ไปยังแอปโทรศัพท์ ก่อนหน้านี้ Telecom กับแอปโทรศัพท์เริ่มต้นจะแบ่งหน้าที่กันในการแสดงการแจ้งเตือนที่เกี่ยวข้องกับการโทร จึงอาจทำให้ทำงานไม่สอดคล้องกัน ใน Android 7.0 แอปโทรศัพท์จะมีหน้าที่จัดการการแจ้งเตือนการโทรทั้งหมด
การทำงานใน Android 6.x และต่ำกว่า
ใน Android รุ่นก่อนหน้า Telecom และแอปโทรศัพท์จะแบ่งหน้าที่กันตามที่อธิบายในตารางต่อไปนี้
| ฟังก์ชันการทำงาน | ดำเนินการโดย Telecom | ดำเนินการโดยแอปโทรศัพท์ |
|---|---|---|
| การแจ้งเตือนสายเรียกเข้า | ใช่ (มีเสียงเรียกเข้า สั่น) | ใช่ (การแสดงการแจ้งเตือน หมายเลขผู้โทร) |
| ส่งไปยังข้อความเสียง | ใช่ | ไม่ |
| เสียงเรียกเข้าที่กำหนดเอง | ใช่ | ไม่ |
| การแจ้งเตือนสายที่ไม่ได้รับ | ใช่ | ไม่ |
| สัญญาณบอกสถานะข้อความที่รออยู่ (โทรหาข้อความเสียง) | ใช่ (โทรศัพท์) | ไม่ |
| การแจ้งเตือนข้อความเสียงพร้อมภาพ | ไม่ | ใช่ |
ตัวอย่างการทำงานที่ไม่เหมือนกันซึ่งเกิดจากการแบ่งหน้าที่ เช่น
- Telecom มีหน้าที่เริ่มเสียงเรียกเข้า/การสั่น ส่วนแอปโทรศัพท์มีหน้าที่แสดงการแจ้งเตือนสายเรียกเข้า หากแอปโทรศัพท์เริ่มทำงานช้า เสียงเรียกเข้าจะดังก่อนที่การแจ้งเตือนสายเรียกเข้าจะแสดงขึ้นหลายวินาที
- Telecom มีหน้าที่แสดงการแจ้งเตือนสายที่ไม่ได้รับ เนื่องจากฟีเจอร์ที่เป็นกรรมสิทธิ์ (เช่น หมายเลขผู้โทรของ Google) ไม่ทำงานในการแจ้งเตือนเหล่านี้ จึงอาจส่งผลให้การแจ้งเตือนของ Telecom กับ UI ของแอปโทรศัพท์ (เช่น บันทึกการโทร) ไม่สอดคล้องกัน
การทำงานใน 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/โทรศัพท์ที่เปิดเผย API ที่พร้อมให้ใช้โดยแอปโทรศัพท์เริ่มต้น