呼叫通知

Android 7.0 将与呼叫通知相关的功能从 Android 平台中的 Telecom 系统服务移至 Dialer 应用。以前,显示与呼叫相关的通知的责任由 Telecom 和默认 Dialer 应用分担,导致行为不一致。在 Android 7.0 中,Dialer 承担处理呼叫通知的所有责任。

Android 6.x 及更低版本中的行为

在早期的 Android 版本中,Telecom 和 Dialer 按如下方式分担责任

功能 由 Telecom 完成 由 Dialer 完成
来电通知 是(响铃、振动) 是(通知显示、来电显示)
发送到语音信箱
自定义铃声
未接来电通知
消息等待指示器(呼叫语音信箱) 是(电话)
可视语音信箱通知

由这种责任分担导致的不一致行为示例包括:

  • Telecom 负责启动响铃器/振动器,但 Dialer 负责显示来电通知。如果 Dialer 启动速度缓慢,则可能导致响铃在来电通知显示前几秒钟开始。
  • Telecom 负责显示未接来电通知。由于专有功能(例如 Google 来电显示)在这些通知上不起作用,因此可能会导致 Telecom 通知与 Dialer 界面(例如通话记录)之间存在不一致。

Android 7.0 及更高版本中的行为

Android 开源项目 (AOSP) Dialer 实现了新功能。如需了解详情,请参阅以下文档:

Android 12 或更高版本中的呼叫通知样式

对于运行 Android 12 或更高版本的设备,为了提供一致的呼叫用户体验,我们建议应用对来电和去电使用 CallStyle 通知样式。如需了解详情,请参阅允许对来电的重要性进行排序的新电话呼叫通知

实现

设备实现者可能需要更新 Telecom/Telephony 组件,这些组件公开了可供默认 Dialer 使用的 API。