Skip to content

使用方法

安卓电话通话监听原生插件,支持获取所有录音文件,来电监听,去电监听,挂断电话后返回通话录音文件,支持短信监听,获取手机号码等多个功能

插件说明

  • 当前插件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>