拦截呼入请求
更新时间: 2024/08/23 10:16:57
本文介绍在呼叫组件中如何拦截呼入请求以便开发者干预来电流程。
功能介绍
DefaultIncomingCallEx
类主要用于在用户使用呼叫组件 UI 层时接收呼叫,展示通知并启动配置的目标来电页面。如果您不想要呼叫组件自带的来电页面,想要拦截呼入请求后,自定义来电页面,您只需继承 DefaultIncomingCallEx
并重写相关方法。
实现方法
初始化呼叫组件时,调用 CallKitUIOptions
对象中的 incomingCallEx
方法拦截呼入请求,再通过自定义 UI 修改来电通知页面,自定义 UI 的具体方法请参见自定义 UI。
以下示例代码展示如何拦截呼入请求:
CallKitUIOptions options = new CallKitUIOptions.Builder()
.incomingCallEx(new DefaultIncomingCallEx(){
// 收到来电触发,返回值表示用户在后台收到来电时,点击应用图标是否展示来电页面,
// true 表示此呼叫已经被消耗不会启动页面,false 表示此呼叫没有被消耗需要启动页面
@Override
public boolean onIncomingCall(@NonNull InvitedInfo invitedInfo){
// 检查参数合理性
if (!isValidParam(invitedInfo)){
return true;
}
// 直接启动目标页面
MainActivity.this.startActivity(toCallIntent(invitedInfo));
// 生成通知并提醒
generateNotificationAndNotify(invitedInfo);
return false;
}
})
// 若重复初始化会销毁之前的初始化实例,重新初始化
CallKitUI.init(getApplicationContext(), options);
此文档是否对你有帮助?