场景8:自定义phoneUI
更新时间:2025-04-24 07:12:35

场景8:自定义phoneUI

描述

phone ui、事件 相关。

示例代码


YealinkSdk.getPhoneService().getPhoneController().setPhoneUIProxy(new MyPhoneUI());

public class MyPhoneUI extends DefaultCallUI {
    
    //自定义联系人信息
    @Override
    public AsyncTask matchPhoneContactByNumber(String number, CallBack<Contact,Void> callback) {
        return ThreadPool.postCommonJob(new JobReleasable<Contact>("matchCallOutContactByNumber", callback) {
            @Override
            public Contact run() {
                Contact contact = new Contact();
                contact.setName("哈哈哈哈 张三");
                contact.setJob("产品经理哈哈哈哈");
                contact.setAvatarDrawable(AppWrapper.getApp().getDrawable(R.drawable.bg_call_dialing));
                return contact;
            }


            @Override
            public void onCallback(Contact contact) {
                callback.onSuccess(contact);
            }
        });
    }

    //是否要自定义
    @Override
    public boolean isOverrideMatchPhoneContactByNumber() {
        return true;
    }

    //默认头像
    @Override
    public Drawable getPhoneDefaultContactAvatarDrawable() {
        return AppWrapper.getApp().getDrawable(R.drawable.bg_call_dialing_video);
    }

    /// 去电提示
    @Override
    public String phoneCallOutTipContent() {
        return "去电提示 哈哈哈哈哈";
    }

    //来电提示
    @Override
    public String phoneCallInTipContent() {
        return "来电提示 滴滴滴滴滴";
    }
    

    //来电背景
    @Override
    public Drawable getPhoneCallInBackgroundDrawable() {
        return AppWrapper.getApp().getDrawable(R.drawable.bg_call_dialing_video);
    }


    //拨号盘
    @Override
    public ArrayList<PhoneBarMenuItem> buildPhoneBarMenuItemList() {
        ArrayList<PhoneBarMenuItem> items = new ArrayList<>();
        items.add(buildPhoneHangUpMenu());
        items.add(buildPhoneDialMenu());
        items.add(buildPhoneHoldMenu());
        items.add(buildPhoneTransferMenu());
        items.add(buildPhoneVoiceMenu());
        items.add(buildPhoneMeetingMenu());
        items.add(buildPhoneShareScreenMenu());
        items.add(buildPhoneMicMenu());
        items.add(buildPhoneMoreMenu());
        return items;
    }

    //更多
    @Override
    public ArrayList<PhoneMoreMenuItem> buildPhoneMoreMenuItemList() {
        ArrayList<PhoneMoreMenuItem> items = new ArrayList<>();
        items.add(buildPhoneFeedbackMenu());
        items.add(buildPhoneRecordMenu());
        items.add(buildPhoneVideoMenu());

        return items;
    }
}
本页目录