uni-app APP 安卓使用makePhoneCall已配置CALL_PHONE 点击触发makecallphone触发success 显示ok 但是页面没有显示拨打电话的界面

uni-app APP 安卓使用makePhoneCall已配置CALL_PHONE 点击触发makecallphone触发success 显示ok 但是页面没有显示拨打电话的界面

开发环境 版本号 项目创建方式
Windows 22H2 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:22H2

HBuilderX类型:正式

HBuilderX版本号:4.57

手机系统:Android

手机系统版本号:Android 5.1

手机厂商:华为

手机机型:NOVA 7

页面类型:vue

vue版本:vue3

打包方式:云端

项目创建方式:HBuilderX

操作步骤:

<image src="/static/images/admin/admin_phone.png" @click=“callPhone” class=“w-56rpx h-56rpx”></image>



```javascript
uni.makePhoneCall({
  phoneNumber: state.options.mobile,
  fail(err) {
    console.log(err, 'errr');
  },
  success(res) {
    console.log(res);
  }
})

预期结果:

显示拨打电话的界面

实际结果:

没有显示

bug描述:

APP 安卓 自定义基座包 使用 makePhoneCall 已配置 <uses-permission android:name="android.permission.CALL_PHONE"/>,点击触发 makePhoneCall 触发 success,显示 ok,但是页面没有显示拨打电话的界面。下载官方 APP 示例代码也是没有显示拨打电话的界面。


更多关于uni-app APP 安卓使用makePhoneCall已配置CALL_PHONE 点击触发makecallphone触发success 显示ok 但是页面没有显示拨打电话的界面的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

使用的是自定义基座包

更多关于uni-app APP 安卓使用makePhoneCall已配置CALL_PHONE 点击触发makecallphone触发success 显示ok 但是页面没有显示拨打电话的界面的实战教程也可以访问 https://www.itying.com/category-93-b0.html


解决了嘛?

根据你的描述,问题可能出现在以下几个方面:

  1. 权限配置问题:虽然已配置 CALL_PHONE 权限,但 Android 6.0+ 需要动态申请权限。你的测试机是 Android 5.1,但云端打包可能默认按更高版本处理。建议在调用 makePhoneCall 前先动态申请权限:
uni.authorize({
  scope: 'scope.record',
  success() {
    uni.makePhoneCall({
      phoneNumber: state.options.mobile
    })
  }
})
  1. 手机号码格式:确保 state.options.mobile 是纯数字格式,不含特殊字符或空格。建议添加校验:
const phone = state.options.mobile.replace(/\D/g, '')
回到顶部