Appearance
使用方法
安卓电话通话监听原生插件,支持获取所有录音文件,来电监听,去电监听,挂断电话后返回通话录音文件,支持短信监听,获取手机号码等多个功能
插件说明
- 当前插件2.*版本已发布,同时支持uniapp和uniappx项目
- 如果您的项目是uniapp项目建议您使用当前版本价格相对较低
- 如果您的项目是uniappx项目请使用2.*版本
- 如果您在使用过程中遇到问题可以先查看【常见问题】,如果还没有解决可以扫描下方的二维码联系作者,作者将全力协助您使用插件
- 两个版本的插件作者都会维护可放心使用
联系作者

关注微信公众号可联系作者
插件适配的机型
- 华为
- 荣耀
- vivo
- oppo
- 小米
- 魅族
- 一加
- 联想
- 中兴
- 摩托罗拉
- 三星
- 天翼
注意
需要适配其他机型,请联系作者
插件地址
https://ext.dcloud.net.cn/plugin?id=16275
权限
- android.permission.ANSWER_PHONE_CALLS
- android.permission.READ_PHONE_STATE
- android.permission.READ_PHONE_NUMBERS
- android.permission.CALL_PHONE
- android.permission.READ_CALL_LOG
- android.permission.WRITE_CALL_LOG
- android.permission.RECORD_AUDIO
- android.permission.WRITE_EXTERNAL_STORAGE
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.RECEIVE_SMS
- android.permission.SEND_SMS
- android.permission.READ_SMS
- android.permission.SYSTEM_ALERT_WINDOW
- android.permission.SYSTEM_OVERLAY_WINDOW
- android.permission.READ_CONTACTS
- android.permission.WRITE_CONTACTS
用法
在需要使用插件的页面加载以下代码
js
const module = uni.requireNativePlugin("leven-call-CallModule");页面内容
vue
<template>
<view>
<uni-card title="安卓电话通话监听原生插件">
<button type="primary" @click="checkCallAutoRecorder">检测是否开启通话自动录音</button>
<button type="primary" @click="toCallAutoRecorderPage">跳转到开启通话自动录音页面</button>
<button type="primary" @click="getAllRecorderFiles">获取所有的录音文件</button>
<button type="primary" @click="registerListener">注册通话监听</button>
<button type="primary" @click="unRegisterListener">取消通话监听</button>
<button type="primary" @click="logStr = ''">清空日志</button>
</uni-card>
<view>
<uni-card class="uni-card-box" title="日志">
<view><text style="font-size: 14px; flex-wrap: wrap;">{{logStr}}</text></view>
</uni-card>
</view>
</view>
</template>
<script>
const module = uni.requireNativePlugin("leven-call-CallModule");
export default {
data() {
return {
logStr: "",
}
},
methods: {
// 检测是否开启通话自动录音
checkCallAutoRecorder() {
module.checkCallAutoRecorder(res => {
this.writeLog(JSON.stringify(res))
});
},
// 跳转到开启通话自动录音页面
toCallAutoRecorderPage() {
module.toCallAutoRecorderPage(res => {
this.writeLog(JSON.stringify(res))
});
},
// 获取所有录音文件
getAllRecorderFiles() {
module.getAllRecorderFiles(res => {
this.writeLog(JSON.stringify(res))
});
},
//注册通话监听
registerListener() {
module.registerListener(res => {
this.writeLog(JSON.stringify(res))
});
},
//取消通话监听
unRegisterListener() {
module.unRegisterListener(res => {
this.writeLog(JSON.stringify(res))
});
},
// 写日志
writeLog(str) {
console.log(str)
let logStr = uni.$lv.date.format(null, "yyyy-mm-dd hh:MM:ss") + " " + str + "\n";
// let logStr = str + "\n";
this.logStr = logStr + this.logStr;
}
}
}
</script>
<style>
</style>