Andorid 集成文档
 自定义
 铃声配置
CallKit 支持发起呼叫时的声音、接收呼叫时的声音以及被挂断时的声音。建议铃声文件格式为 MP3、WAV 等,铃声时长为 1-20 秒,文件大小不超过 1 MB。
默认铃声策略如下:
- 结束提示音(DING):如未设置,则不播放提示音(保持静音)。
 - 异常降级:自定义铃声解码/播放异常时,非 DING 铃声会自动降级为系统铃声;DING 不降级。
 - 循环规则:非 DING 铃声循环播放,DING 只播放一次。
 
你可以自定义铃声:
val config = CallKitConfig().apply {
    
    
    incomingRingFile = "assets://incoming_ring.mp3"
    outgoingRingFile = "assets://outgoing_ring.mp3"
    dingRingFile     = "assets://ding.mp3"
    
    
    
    
    
}
CallKitClient.init(context, config)
 通话超时设置
CallKit 内部呼出/呼入超时时间默认 30 秒,开发者可以通过以下代码实现自定义超时时间。
val config = CallKitConfig().apply {
    //(可选)配置通话超时时间(秒)
    callTimeout = 30  // 30秒
}
CallKitClient.init(context, config)
 布局/样式
开发者可以通过修改布局文件源码(ease-call-kit/src/main/res/layout/) 的方式或者在应用层添加一个同名的文件来实现自定义布局。注意修改后或者新的布局文件需要包含原有布局文件里的所有资源,否则运行时会报空指针异常。允许开发者添加新的资源控件、调整控件位置、背景等。
| 资源 | 描述 | 
|---|
activity_single_call.xml | 一对一通话根布局容器,承载不同状态子视图(incoming/outgoing/connected)。 | 
activity_multi_video_call.xml | 多人通话根布局容器,含成员网格/工具栏等。 | 
activity_invite_group_members.xml | 群成员邀请页面。 | 
callkit_titlebar_view.xml | 通话页通用标题栏组件(返回、标题、右侧操作)。 | 
view_incoming_video_single.xml   view_incoming_voice_single.xml | 来电界面(视频/语音)。 | 
view_outgoing_video_single.xml 
 view_outgoing_voice_single.xml | 外呼界面(等待对方接听)。 | 
view_connected_video_single.xml   view_connected_voice_single.xml | 通话中界面(视频/语音)。 | 
view_incoming_multiple.xml   view_connected_multiple.xml | 群组通话来电/通话中视图。 | 
view_call_member.xml   view_multi_video_call_member.xml | 成员头像、昵称、音量/状态指示项。 | 
callkit_float_window_video.xml   callkit_float_window_voice.xml | 后台悬浮窗视图(视频小窗/语音小窗)。 | 
callkit_incoming_call_top_window.xml | 顶部来电条(可滑动收起/接听/挂断)。 | 
callkit_fragment_base_list.xml | 通用列表容器(内含 RecyclerView/刷新容器)。 | 
callkit_layout_default_no_data.xml   callkit_layout_no_data_show_nothing.xml | 无数据/空占位视图。 | 
callkit_layout_group_member_select_item.xml | 群成员选择单元项(头像/昵称/选中态)。 | 
 图标与图形资源
开发者可直接在源码中使用同名文件替换,或者在应用层对应的 res/drawable* 添加一个同名文件,即可实现资源文件的替换。
 功能图标
 通话控制
| 资源 | 描述 | 
|---|
callkit_end.png | 挂断按钮。 | 
callkit_accept_tel.png
 callkit_accept_video_camera.png | 接听按钮(语音/视频)。 | 
callkit_decline.png | 拒绝按钮。 | 
callkit_phone_pick.png | 电话接听图标。 | 
 音视频控制
| 资源 | 描述 | 
|---|
callkit_mic_on.png
 callkit_mic_off.png | 麦克风开启/关闭。 | 
callkit_mic_off_small.png | 小尺寸麦克风关闭图标。 | 
callkit_speaker_on.png
 callkit_speaker_off.png | 扬声器开启/关闭。 | 
callkit_speaker_wave.png | 扬声器音波图标。 | 
callkit_video_camera_on.png 
 callkit_video_camera_off.png | 摄像头开启/关闭。 | 
callkit_camera_front.png
 callkit_camera_back.png | 前置/后置摄像头切换。 | 
 网络质量指示
| 资源 | 描述 | 
|---|
callkit_network_good.png
 callkit_network_poor.png
 callkit_network_worse.png
 callkit_network_none.png | 网络质量指示器(优秀/一般/差/无网络)。 | 
 界面元素
| 资源 | 描述 | 
|---|
callkit_default_avatar.png | 默认用户头像。 | 
callkit_default_group_avatar.png | 默认群组头像。 | 
callkit_invite.png | 邀请成员图标。 | 
callkit_float.png | 悬浮窗图标。 | 
callkit_connecting.png | 连接中图标。 | 
callkit_array_left.png | 左箭头。 | 
 复选框状态
| 资源 | 描述 | 
|---|
callkit_checkbox_select.png
 callkit_checkbox_unselect.png
 callkit_checkbox_available.png | 选中/未选中/可选择状态。 | 
 背景资源
背景资源存放在 drawable-xxxhdpi 中。
| 资源 | 描述 | 
|---|
callkit_view_background.webp | 通话界面背景。 | 
callkit_empty_layout.png | 空状态占位图。 | 
 文案资源
开发者可直接修改 res/values/callkit_strings.xml 内资源的定义源码,或者在应用层的 res/values/strings.xml 文件中添加相同资源 ID 的文案资源实现文案的替换。
 基础状态
| 资源 | 描述 | 
|---|
callkit_loading | 加载中... | 
callkit_connecting | 连接中/等待对方接受邀请... | 
callkit_waiting
 callkit_calling | 待接听/呼叫中。 | 
 通话邀请提示
| 资源 | 描述 | 
|---|
alert_request_video
 alert_request_voice
 alert_request_multiple_video | 一对一视频/一对一语音/群组视频通话邀请提示(支持用户名参数 %1$s)。 | 
 通话操作
| 资源 | 描述 | 
|---|
callkit_accept
 callkit_decline | 接听/挂断。 | 
callkit_end | 结束通话。 | 
 功能控制
| 资源 | 描述 | 
|---|
callkit_flip | 摄像头翻转。 | 
callkit_mike_on
 callkit_mike_off | 麦克风已开/已关。 | 
callkit_speaker_on
 callkit_speaker_off | 扬声器已开/已关。 | 
callkit_camera_on
 callkit_camera_off | 摄像头已开/已关。 | 
 通话类型与群组
| 资源 | 描述 | 
|---|
callkit_inviting_you_to_a_group_call
 callkit_inviting_you_to_a_video_call
 callkit_inviting_you_to_a_voice_call | 群通话/视频/语音邀请文案。 | 
callkit_group_call | 群组通话。 | 
callkit_add | 添加成员(支持数量参数 %1$d)。 | 
callkit_over_max_members | 超过最大人数限制提示(支持数量参数 %1$d)。 | 
 通话状态与结果
| 资源 | 描述 | 
|---|
callkit_call_duration | 通话时长显示(支持时间参数 %1$s)。 | 
callkit_self_cancel
 callkit_remote_cancel | 自己取消/对方取消。 | 
callkit_self_refused
 callkit_remote_refused | 自己拒绝/对方拒绝。 | 
callkit_self_no_response
 callkit_remote_no_response | 自己未接听/对方无响应。 | 
callkit_remote_busy | 对方忙线中。 | 
callkit_remote_drop | 通话中断。 | 
 多设备处理
| 资源 | 描述 | 
|---|
The_other_is_received
 callkit_handle_on_other_device | 其他设备已接听。 | 
The_other_is_refused
 callkit_refused_on_other_device | 其他设备已拒绝/结束通话。 | 
The_other_is_busy | 对方忙线中。 | 
 多语言支持
CallKit 提供完整的中文本地化支持,所有英文文案均有对应的中文翻译。
英文文案默认路径应为 res/values/callkit_strings.xml,中文文案路径为 res/values-zh/callkit_strings.xml。文案的主要差异如下:
| 英文 | 中文 | 
|---|
Mike on | 麦克风已开 | 
Speaker off | 扬声器已关 | 
Remote Refused | 对方拒绝接听 | 
Call Duration %1$s | 通话时长 %1$s |