拦截呼入请求

更新时间: 2023/07/05 09:17:16

本文介绍在呼叫组件中如何拦截呼入请求以便开发者干预来电流程。

功能介绍

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);
此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 实现方法