更新记录

1.0.1(2026-06-12)

  • 修复 Harmony 真机运行时报 lizhaoCallKit_utsProxy.onCallKitEvent is not a function 的问题。
  • Harmony 平台入口补齐完整 API 占位导出、能力探测、权限状态和事件监听占位;不支持的 Android 高敏能力返回明确降级,不伪造成功。
  • 同步升级 package.jsonuni_modules.json 版本和插件市场描述。

平台兼容性

uni-app(4.84)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - -

uni-app x(4.84)

Chrome Safari Android iOS 鸿蒙 微信小程序

lizhao-call-kit

lizhao-call-kit 是电话、短信、通讯录与通话录音文件扫描 UTS API 插件。Android 首版提供真实原生能力;iOS / Harmony / Web / 小程序提供能力探测和明确降级,不支持能力会触发 fail / complete,不会伪造成功。

支持平台

平台 是否支持 说明
Android App 支持 支持通话监听、通话记录、录音文件扫描匹配、短信、通讯录、前台服务
iOS App 部分支持 支持能力探测、拨号和短信系统意图;通话监听、通话记录、短信读取、静默短信和通讯录首版不开放
Harmony App 降级 提供能力探测和明确错误
Web 部分支持 支持 tel: / sms: 意图,其他高敏能力不支持
微信小程序 降级 提供能力探测和明确错误
支付宝小程序 降级 提供能力探测和明确错误

权限与自定义基座

Android 端涉及以下高敏权限:

权限 用途 是否需要自定义基座
READ_PHONE_STATE 通话状态监听
READ_CALL_LOG 通话记录查询和录音匹配
CALL_PHONE 直接拨打电话
ANSWER_PHONE_CALLS 接听/挂断 best-effort
READ_SMS 读取短信
RECEIVE_SMS 监听新短信
SEND_SMS 静默发送短信
READ_CONTACTS 读取通讯录
WRITE_CONTACTS 新增联系人
READ_MEDIA_AUDIO / READ_EXTERNAL_STORAGE 扫描录音文件
MANAGE_EXTERNAL_STORAGE 扫描厂商私有录音目录 是,且需用户手动授权
POST_NOTIFICATIONS Android 13+ 前台通知
FOREGROUND_SERVICE 前台服务
FOREGROUND_SERVICE_DATA_SYNC Android 14+ dataSync 类型前台服务

通话录音不由插件直接录制。插件只检测系统/OEM 自动录音设置、跳转设置页、扫描录音文件,并按号码和时间与通话记录匹配。

API 列表

getCallKitCapabilities(options)

说明 获取当前平台能力矩阵。

支持平台 Android / iOS / Harmony / Web / 微信小程序 / 支付宝小程序

参数

参数 类型 必填 说明 默认值 可选参数
options CallKitBaseOptions 回调参数 success / fail / complete
options.success function 成功回调
options.fail function 失败回调
options.complete function 完成回调

返回值

字段 类型 说明
supported boolean 当前平台是否支持至少一种能力
platform string 平台标识
supportLevel string native / intent / limited / unsupported
requiresCustomBase boolean 是否需要自定义基座

checkPermissions(options) / requestPermissions(options)

说明 检查或请求 Android 权限。非 Android 平台返回降级说明。

参数

参数 类型 必填 说明 默认值 可选参数
options PermissionOptions 权限请求参数 默认检查全部权限 permissions / success / fail / complete
options.permissions Array 要检查或请求的权限名 全部插件权限 READ_PHONE_STATE / READ_CALL_LOG / READ_SMS / SEND_SMS / READ_CONTACTS

registerCallListener(options) / unregisterCallListener(options)

说明 注册或取消 Android 通话监听。监听事件通过 onCallKitEvent 返回。

参数

参数 类型 必填 说明 默认值 可选参数
options CallListenerOptions 监听参数 includePhoneNumber / matchRecorderOnEnd / recorderMatchWindowMs / success / fail / complete
options.includePhoneNumber boolean 是否尝试返回号码 true true / false
options.matchRecorderOnEnd boolean 挂断后是否尝试匹配录音 false true / false
options.recorderMatchWindowMs number 录音匹配时间窗口 180000

getCallLogs(options) / getCallLogsByFilter(options)

说明 读取 Android 通话记录,并可按号码、类型、时间过滤。

参数

参数 类型 必填 说明 默认值 可选参数
options CallLogsOptions 查询参数 limit / offset / phoneNumber / fromDate / toDate / type / matchRecorder
options.limit number 最大返回条数 100
options.phoneNumber string 号码过滤
options.type string 通话类型 incoming / outgoing / missed / rejected / blocked
options.matchRecorder boolean 是否同步匹配录音 false true / false

dialPhone(options) / callPhone(options)

说明 打开系统拨号页或直接拨打电话。

参数

参数 类型 必填 说明 默认值 可选参数
options PhoneOptions 电话参数 phoneNumber / simSlotIndex / success / fail / complete
options.phoneNumber string 电话号码

checkCallAutoRecorder(options) / openCallAutoRecorderSettings(options)

说明 检测常见系统/OEM 自动录音目录,或跳转可能的录音设置页。

参数

参数 类型 必填 说明 默认值 可选参数
options CallKitBaseOptions 回调参数 success / fail / complete

setRecorderDirectories(options) / getAllRecorderFiles(options) / searchRecorderFiles(options)

说明 配置录音扫描目录、读取全部录音文件或按条件搜索。

参数

参数 类型 必填 说明 默认值 可选参数
options RecorderFilesOptions 搜索参数 默认常见目录 directories / phoneNumber / keyword / fromDate / toDate / limit / includeDuration
options.directories Array 自定义扫描目录 常见系统目录
options.phoneNumber string 号码过滤
options.keyword string 文件名关键词
options.includeDuration boolean 是否读取音频时长 false true / false

matchCallRecordings(options)

说明 按号码片段和时间窗口匹配通话记录与录音文件。

参数

参数 类型 必填 说明 默认值 可选参数
options MatchCallRecordingsOptions 匹配参数 自动查询通话记录和录音 callLogs / recorderFiles / windowMs / limit
options.windowMs number 匹配时间窗口 180000

registerSmsListener(options) / getSmsList(options) / sendSmsSilent(options) / sendSmsIntent(options)

说明 Android 支持短信监听、短信读取和静默发送;多端支持系统短信意图或明确降级。

参数

参数 类型 必填 说明 默认值 可选参数
options SendSmsOptions 短信发送参数 phoneNumber / message / requestCode / success / fail / complete
options.phoneNumber string 手机号
options.message string 短信内容

getContacts(options) / addContact(options)

说明 Android 支持读取和新增通讯录。iOS / Harmony / Web / 小程序首版会返回不支持错误,后续版本再接入对应平台原生实现。

参数

参数 类型 必填 说明 默认值 可选参数
options ContactsOptions 联系人查询参数 keyword / limit / success / fail / complete
options.keyword string 姓名关键词

onCallKitEvent(eventName, callback) / offCallKitEvent(eventName, callback?)

说明 订阅或取消插件事件。持续监听需配合 offCallKitEvent 释放。

参数

参数 类型 必填 说明 默认值 可选参数
eventName string 事件名,首版 Android 不强制过滤 null incoming / outgoing / answered / ended / received / sent / error
callback function 事件回调

uni-app 示例

import {
  checkPermissions,
  requestPermissions,
  registerCallListener,
  onCallKitEvent,
  getAllRecorderFiles
} from '@/uni_modules/lizhao-call-kit'

// 先检查高敏权限,未授权时引导用户授权。
checkPermissions({
  success(res) {
    console.log('权限状态', res)
  }
})

// Android 端请求电话、短信、通讯录等权限。
requestPermissions({
  success(res) {
    console.log('授权完成', res)
  },
  fail(err) {
    console.log('授权失败', err)
  }
})

// 注册事件监听,页面卸载时应调用 offCallKitEvent。
onCallKitEvent(null, (event) => {
  console.log('电话短信事件', event)
})

// 注册通话监听,挂断后尝试匹配系统自动录音文件。
registerCallListener({
  matchRecorderOnEnd: true,
  success(res) {
    console.log('通话监听已开启', res)
  }
})

// 扫描常见系统/OEM 通话录音目录。
getAllRecorderFiles({
  includeDuration: true,
  success(res) {
    console.log('录音文件', res)
  }
})

uni-app x 示例

import { getCallKitCapabilities, sendSmsIntent } from '@/uni_modules/lizhao-call-kit'

// 先按能力矩阵判断当前平台,不支持能力不要误判为失败业务。
getCallKitCapabilities({
  success(res) {
    console.log('能力矩阵', res)
  }
})

// 多端优先使用系统短信意图,Android 才可按授权使用 sendSmsSilent。
sendSmsIntent({
  phoneNumber: '10086',
  message: '测试短信',
  success(res) {
    console.log('已打开系统短信页', res)
  }
})

错误码

错误码 含义 说明
9040001 current platform unsupported 当前平台不支持该能力
9040002 permission denied 权限不足
9040003 invalid parameter 参数不合法
9040004 context unavailable Android 上下文不可用
9040005 call listener unavailable 通话监听不可用
9040006 call log unavailable 通话记录不可用
9040007 recorder file unavailable 录音文件不可用
9040008 sms unavailable 短信能力不可用
9040009 contact unavailable 通讯录能力不可用
9040010 foreground service unavailable 前台服务不可用
9040011 operation failed 原生操作失败
9040012 notification permission denied 通知权限不足
9040013 all files access denied 所有文件访问权限不足
9040014 activity unavailable 无法打开系统页面
9040015 content resolver unavailable ContentResolver 不可用
9040016 empty result 结果为空
9040017 direct call blocked 直接拨号被系统拦截
9040018 silent sms blocked 静默短信被系统拦截
9040019 file operation blocked 文件操作失败
9040020 android version restricted Android 版本或默认应用策略限制

注意事项

  • 静默短信、短信读取、通话记录、通讯录读取均属于高敏能力,发布前需要准备隐私政策和应用场景说明。
  • Android 10+ 对后台启动、通话录音和默认电话应用限制明显,接听/挂断只按 best-effort 返回,不承诺所有设备可用。
  • 修改 utssdk/app-android/index.utsAndroidManifest.xml、权限或前台服务后,必须重新打 Android 自定义基座或重新运行原生联编。

发布前检查

发布源码包前建议在项目根目录运行:

D:\HBuilderX\plugins\node\node.exe scripts\check-lizhao-call-kit-release-gate.js

该命令会检查目录结构、根入口导出、API 契约、Android 权限、iOS 首版能力边界、README 和演示页入口。

如果要确认当前 Android 模拟器或真机安装的自定义基座是否已经包含 lizhao-call-kit 原生运行时,运行:

D:\HBuilderX\plugins\node\node.exe scripts\check-lizhao-call-kit-installed-runtime.js

该命令会检查设备端 uni_modules/lizhao-call-kit/utssdk/app-android/classes.dex。如果只存在 index.kt / config.json 而没有 classes.dex,说明当前基座尚未完成 Android 原生联编,页面可以打开但原生 API 无法作为发布运行态证据。

如果要在真机验收全部完成后再做严格发布判断,运行:

D:\HBuilderX\plugins\node\node.exe scripts\check-lizhao-call-kit-release-gate.js --require-runtime-verified

严格模式要求 verification-checklist.md 中 Android 自定义基座、通话监听、短信、通讯录、前台服务和降级平台验收项都已按真实设备结果确认。仅导出 appResource 或热更新资源不能替换已编译进基座的 UTS 原生逻辑;涉及 Android 原生 UTS、Manifest、权限或前台服务变更时,最终验收必须安装最新 Android 自定义基座。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

Android 电话状态、通话记录、拨号、读取/接收/发送短信、读取/写入通讯录、通知、前台服务、文件读取等权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

通话状态、通话记录、录音文件元数据、短信、通讯录,均仅在用户授权和业务合规前提下采集

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。