更新记录

1.1.1(2026-07-11)

更新插件使用说明

1.1.0(2026-07-11)

插件简介

aiko-call-recorder 是一款 Android UTS 原生插件,面向 uni-app / uni-app x 项目,提供系统通话录音获取、通话状态监听、通话记录、短信、通讯录、拨打接听挂断等能力。

本插件不自行录制通话音频,而是引导用户开启各厂商「通话自动录音」,在来电/去电/挂断时监听状态,挂断后从系统录音目录匹配并返回录音文件路径,并可按需自动或手动转码为标准 MP3/WAV/M4A。

适配品牌:华为、荣耀、小米、OPPO、vivo、一加、三星、魅族、联想、中兴等(机型与 ROM 差异较大,请真机验证)。

平台与运行要求

  • 仅支持 App-Android(不支持 iOS / 小程序 / Web)
  • 支持 uni-app(Vue2/Vue3、vue/nvue)与 uni-app x
  • 需 HBuilderX 4.25+,修改原生代码后需制作自定义调试基座
  • 付费插件云打包需 HBuilderX 3.7.2+,仅支持云端传统打包

引入方式

import * as module from '@/uni_modules/aiko-call-recorder'

统一回调结构:{ code: number, message: string, data: any }code === 0 表示成功。


一、权限与环境

API 说明
requestPermissions 批量申请电话、短信、存储、通讯录等相关权限
checkAllFilesPermission 检测是否拥有「所有文件访问」权限(Android 11+ 读取系统录音目录必需)
toAllFilesPermissionPage 跳转系统所有文件访问授权页
checkPhone 检测当前机型是否在适配范围内
isForegroundPermission 检测通知权限(前台服务需要)
toForegroundPage 跳转通知权限设置页

二、系统通话自动录音

API 说明
checkCallAutoRecorder 检测是否已开启系统「通话自动录音」
toCallAutoRecorderPage 跳转各厂商通话自动录音设置页
setCustomAudioRecorderDir 设置自定义录音目录(用于匹配系统录音文件)
getAllRecorderFiles 获取系统录音目录下全部录音文件列表
getRecorderFiles 按时间范围、关键字搜索录音文件

三、通话状态监听

API 说明
registerListener 注册通话状态监听(来电、去电、挂断、拒接等)
unRegisterListener 取消通话状态监听
isRegisterListener 查询是否已注册监听
getCallState 获取当前通话状态:0 空闲 / 1 响铃 / 2 通话中

registerListener 状态码(data.status)

status 含义
1 来电响铃
2 去电或来电通话中
3 电话挂断(可带录音路径、时长、转码结果)
4 来电拒接或未接听
5 去电对方拒接或未接听
6 通话中时来电占线

挂断(status=3)回调字段

字段 说明
audioPath / originalAudioPath 系统原始录音路径
duration 原始录音时长(毫秒)
convertedPath 自动转码后的文件路径(开启自动转码且成功时)
originalSize / convertedSize 转码前后文件大小(字节)
converted 是否转码成功
convertFormat 目标格式(mp3 / wav / m4a)
convertMessage 转码结果说明
convertedDuration 转码后音频时长(毫秒)

四、拨打 / 接听 / 挂断

API 说明
callPhone 拨打电话,支持指定卡槽、是否系统选号
answerRingingCall 接听来电
endCall 挂断当前通话
isMultiSim 是否双卡设备
getPhoneNumber 获取本机号码(部分机型/运营商可能为空)
getDefaultCallSimCard 获取默认拨号卡槽

五、通话记录

API 说明
getAllCalls 获取全部通话记录
getCalls 按姓名、号码、时间范围筛选通话记录

六、短信

API 说明
registerSmsListener 注册短信接收监听
unRegisterSmsListener 取消短信监听
hideSendSms 发送短信(可指定卡槽 subId)
getSms 按内容、号码查询短信记录

七、通讯录

API 说明
getContacts 按号码或姓名查询联系人
addContact 添加联系人

八、录音文件与音频处理

API 说明
moveFile 移动文件
copyFile 复制文件(系统录音目录文件可先复制到应用目录再上传)
deleteFile 删除文件
getDuration 获取音频文件时长(毫秒)
convertAudio 手动音频格式转换,默认 MP3(LAME),另支持 WAVM4A
setAutoConvertConfig 配置挂断后自动转码(enable / format / outputDir,持久化存储)
getAutoConvertConfig 读取自动转码配置

convertAudio 参数说明

  • fromFilenamepath:源文件绝对路径
  • toFilename:输出路径(不传则在同目录生成 *_converted.mp3/wav/m4a
  • format:目标格式,mp3(默认)/ wav / m4a

九、前台保活

API 说明
startForeground 启动前台通知服务,提升锁屏/后台存活率
stopForeground 停止前台通知服务

推荐使用流程

  1. requestPermissions 申请相关权限
  2. checkAllFilesPermission / toAllFilesPermissionPage(Android 11+)
  3. checkCallAutoRecorder / toCallAutoRecorderPage 开启系统通话自动录音
  4. startForeground 提升后台存活(可选)
  5. setAutoConvertConfig({ enable: true, format: 'mp3' }) 开启挂断自动转 MP3(可选)
  6. registerListener 注册监听,挂断后读取 audioPath / convertedPath

权限声明

插件已在 AndroidManifest.xml 声明以下权限,请在应用隐私政策中说明用途:

电话状态 / 通话记录 / 拨打接听、麦克风(部分 ROM 要求)、存储 / 所有文件访问、短信读写发送、通讯录、通知 / 前台服务。


常见问题

  1. 挂断后没有 audioPath:确认系统通话自动录音已开;Android 11+ 需所有文件访问权限;部分 ROM 录音落盘较慢。
  2. 系统目录文件无法上传:先用 copyFile / moveFile 复制到应用可访问目录。
  3. 锁屏后无回调:开启 startForeground,并按厂商要求打开自启动。
  4. 录音格式无法播放:开启自动转 MP3,或手动调用 convertAudio

合规提示

请遵守当地法律法规,录音前告知对方并取得同意。上架应用商店时请按商店政策申报敏感权限。


授权与加密

授权类型 价格 说明
普通授权版 ¥59.90 实现层加密,云打包解密使用,绑定 appid 与包名
源码授权版 ¥199.00 可下载完整 UTS/Kotlin 源码
  • utssdk/interface.uts 保留明文 API 声明
  • utssdk/app-android/index.uts 及 Kotlin 混编文件上架后加密
  • 联系 QQ:1074699502

历史版本

1.0.3 — 新增 setAutoConvertConfig / getAutoConvertConfig;挂断回调增加转码字段

1.0.2convertAudio 默认格式改为 MP3(LAME)

1.0.1 — 新增 convertAudio 音频格式转换

1.0.0 — 首发:通话/短信监听、系统录音检测与获取


平台兼容性

uni-app(4.23)

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

uni-app x(4.62)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × - × × ×

aiko-call-recorder

Android 通话录音 / 电话短信监听 UTS 插件。

能力说明

本插件不自行录制通话音频,而是:

  1. 引导用户开启各厂商「通话自动录音」
  2. 监听来电 / 去电 / 挂断状态
  3. 挂断后从系统录音目录匹配并返回录音文件路径
  4. 提供通话记录、短信、通讯录、拨打/接听/挂断、文件复制移动、前台保活等配套能力

适配品牌:华为、荣耀、小米、OPPO、vivo、一加、三星、魅族、联想、中兴等(机型差异较大,请真机验证)。

仅支持

  • App-Android
  • uni-app / uni-app x

安装

将本插件放入项目 uni_modules/aiko-call-recorder制作自定义调试基座后运行。

引入

import * as module from '@/uni_modules/aiko-call-recorder'

推荐使用流程

  1. requestPermissions 申请电话/短信/存储等相关权限
  2. checkAllFilesPermission / toAllFilesPermissionPage(Android 11+ 读取系统录音目录需要)
  3. checkCallAutoRecorder / toCallAutoRecorderPage 开启系统通话自动录音
  4. startForeground 提升锁屏后存活率(可配合保活方案)
  5. registerListener 注册通话监听,挂断后 status=3 时读取 audioPath
  6. (可选)setAutoConvertConfig({ enable: true, format: 'mp3' }) 开启挂断后自动转码

核心 API

方法 说明
requestPermissions 申请权限
checkCallAutoRecorder 检测是否开启通话自动录音
toCallAutoRecorderPage 跳转开启通话自动录音页面
getAllRecorderFiles 获取所有录音文件
getRecorderFiles 按时间/关键字搜索录音
registerListener 注册通话监听
unRegisterListener 取消通话监听
isRegisterListener 是否已注册监听
getCallState 当前通话状态 0空闲/1响铃/2通话中
endCall 挂断
answerRingingCall 接听
callPhone 拨打
getAllCalls / getCalls 通话记录
registerSmsListener / unRegisterSmsListener 短信监听
hideSendSms / getSms 发短信 / 查短信
isMultiSim / getPhoneNumber / getDefaultCallSimCard 卡槽与号码
moveFile / copyFile / deleteFile 文件操作
checkAllFilesPermission / toAllFilesPermissionPage 所有文件访问权限
getDuration 音频时长(毫秒)
convertAudio 音频格式转换(默认 mp3,另支持 wav / m4a)
setAutoConvertConfig / getAutoConvertConfig 挂断后自动转码配置
getContacts / addContact 通讯录
isForegroundPermission / toForegroundPage 通知权限
startForeground / stopForeground 前台通知服务
checkPhone 是否适配当前机型
setCustomAudioRecorderDir 自定义录音目录

统一回调结构

{
  "code": 0,
  "message": "",
  "data": {}
}

code === 0 表示成功。

registerListener 状态码

status 含义
1 来电响铃
2 去电或来电通话中
3 电话挂断(可能带 audioPath/duration)
4 来电拒接或未接听
5 去电对方拒接或未接听
6 通话中时来电占线

示例

// 开启:通话结束后自动转 MP3(配置会持久化)
module.setAutoConvertConfig({
  enable: true,
  format: 'mp3',
  outputDir: '/storage/emulated/0/aiko_call_recorder'
}, (res) => {
  console.log(res)
})

module.registerListener((res) => {
  console.log(res)
  // status=3 时:
  // data.audioPath 原始录音
  // data.convertedPath 自动转码结果(开启后才有)
  // data.converted / data.convertFormat / data.convertMessage
})

module.callPhone({ number: '10086', slot: 1 }, (res) => {
  console.log(res)
})

module.copyFile({
  fromFilename: '/storage/emulated/0/Sounds/CallRecord/xxx.m4a',
  toFilename: '/storage/emulated/0/aiko_call/xxx.m4a'
}, (res) => {
  console.log(res)
})

// 也可手动转换
module.convertAudio({
  fromFilename: '/storage/emulated/0/Sounds/CallRecord/xxx.amr',
  toFilename: '/storage/emulated/0/aiko_call/xxx.mp3',
  format: 'mp3'
}, (res) => {
  console.log(res)
})

自动转码回调字段(status=3)

字段 说明
audioPath / originalAudioPath 系统原始录音路径(转换前)
convertedPath 转换后的文件路径(成功时)
originalSize / convertedSize 转换前后文件大小(字节)
converted 是否转换成功
convertFormat 目标格式
convertMessage 转换结果说明
convertedDuration 转换后音频时长(毫秒)

权限

插件已在 AndroidManifest.xml 声明常用权限,请在应用隐私政策中说明用途。涉及:

  • 电话状态 / 通话记录 / 拨打接听
  • 麦克风(部分 ROM 要求)
  • 存储 / 所有文件访问
  • 短信读写发送
  • 通讯录
  • 通知 / 前台服务

常见问题

  1. 挂断后没有 audioPath:先确认系统通话自动录音已开;Android 11+ 需所有文件访问权限;部分 ROM 录音落盘较慢。
  2. 系统目录文件无法上传:先 copyFile / moveFile 到应用可访问目录再上传。
  3. 锁屏后无回调:开启 startForeground,并按厂商要求打开自启动。
  4. 录音格式无法播放:系统录音可能非标准封装,开启 setAutoConvertConfig 自动转 mp3,或手动调用 convertAudio

合规提示

请遵守当地法律法规,录音前告知对方并取得同意。上架应用商店时请按商店政策申报敏感权限,勿滥用无障碍/通话能力。

隐私、权限声明

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

ANSWER_PHONE_CALLS、READ_PHONE_STATE、READ_PHONE_NUMBERS、CALL_PHONE、READ_CALL_LOG、WRITE_CALL_LOG、RECORD_AUDIO、READ/WRITE_EXTERNAL_STORAGE、MANAGE_EXTERNAL_STORAGE、RECEIVE_SMS、SEND_SMS、READ_SMS、READ/WRITE_CONTACTS、POST_NOTIFICATIONS、FOREGROUND_SERVICE

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

插件不采集任何数据,不上传服务器

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

暂无用户评论。