本功能仅供企业应用开发者接入。
来去电时,页面显示已安装企业应用的联系人信息,方便用户识别来去电人信息,快速回应,增强企业内部沟通效率。
来去电页面或横幅仅展示一个联系人信息,对于多个应用里存在相同联系人的情况,按照应用包名的字典序排序,展示首个查询结果。
| 接口名 | 描述 |
|---|---|
| onQueryCallerInfo(phoneNumber: string):Promise<CallerInfo> | 查询联系人信息接口。 |
| queryNumberIdentifySwitchState (context: Context):SwitchState | 查询陌生号码与信息识别总开关状态以及调用该接口的应用号码识别开关状态。 |
| isSupportEnterpriseNumberIdentify(context: Context): Promise<boolean> | 查询是否已开通企业来电显示权限。 |
企业来电显示能力使用受限,如需接入,需要在AGC网站申请对应权限。
1.登录AGC网站,选择“开发与服务”。
2.在项目列表选择项目,并在应用列表下选择需要申请企业来电显示的应用。
3.进入“项目设置 > 开放能力管理”页面,点击“企业来电显示”对应的“申请”。

4.请根据实际业务需求在弹框中填写对应信息,完成后,点击右上角“提交”,提交后将在3个工作日内回复。

在工程内创建一个ExtensionAbility类型的自定义组件并继承CallerInfoQueryExtensionAbility,完成onQueryCallerInfo方法的复写。
说明:
由于调用onQueryCallerInfo方法时,系统先创建应用的AbilityStage实例,请勿在AbilityStage中添加过于复杂耗时的逻辑,避免调用超时。
代码示例:
import { CallerInfoQueryExtensionAbility, CallerInfo } from '@kit.CallServiceKit';
export default class EntryCallerInfoQueryExtAbility extends CallerInfoQueryExtensionAbility {
// 来去电时由系统通话应用主动调用该接口查询企业联系人信息
async onQueryCallerInfo(phoneNumber: string): Promise<CallerInfo> {
return new Promise<CallerInfo>((resolve, reject) => {
let isSuccess = true;
// 在此处实现根据号码查询企业联系人的业务逻辑
if (isSuccess) {
// 查询成功,返回结果
resolve({
contactName:'张三',
employeeId:'E123456',
department:'开发部',
position:'助理工程师'
});
} else {
// 查询失败,返回错误原因
reject('error reason');
}
});
}
} 在应用配置文件module.json5中注册extensionAbilities,具体详见module.json5配置。
配置文件示例:
{
"extensionAbilities": [
{
"name": "EntryCallerInfoQueryExtAbility",
"srcEntry": "./ets/callerinfoquery/EntryCallerInfoQueryExtAbility.ets",
"type": "callerInfoQuery"
}
]
} 在调试设备上,前往“电话”,点击右上角的“更多”图标,前往“设置”>“陌生号码和信息识别”,或者通过应用跳转陌生号码和信息识别页面,打开对应企业应用的号码识别功能开关,进行调试。