swan.makePhoneCall

在工具和真机中的实现有区别,详见API 实现差异

解释:拨打电话
Web 态说明:由于 Web 态环境安全策略限制,调用该 API 前必须要存在用户交互场景(点触),如果无用户交互场景下直接调用,会导致执行成功回调但实际功能未生效。因此建议在点击事件监听等用户交互场景下使用该 API。

# 方法参数

Object object

# object 参数说明

属性名 类型 必填 默认值 说明
phoneNumber String 需要拨打的电话号码
· 号码格式为:“区号-xxxx xxxx”或“(区号)xxxx xxxx”或“区号 xxxx xxxx”或“区号 xxxx xxxx”,其中“()”和“-”请使用英文符号。
· 可输入英文,将根据九键键盘自动转换成对应的数字进行拨号,例:TUV/WXYZ/JKL 对应号码为 895。
success Function 接口调用成功的回调
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

# 示例

扫码体验
重新加载
请使用百度APP扫码

# 图片示例

# 代码示例 1: 模拟拨号盘用法

    <view class="wrap">
        <view class="card-area">
            <input bind:input="phoneNumberInput" class="input border-bottom" type="number" placeholder="请输入电话号码"/>
            <button bind:tap="makePhoneCall" type="primary" hover-stop-propagation="true">拨打</button>
        </view>
    </view>
    
    Page({
        data: {
            phoneNumber: ''
        },
    
        phoneNumberInput(e) {
            this.setData('phoneNumber', e.detail.value);
        },
    
        makePhoneCall(e) {
            let phoneNumber = this.data.phoneNumber;
            if (!phoneNumber) {
                swan.showToast({
                    title: '请输入电话号码',
                    icon: 'none'
                });
                return;
            }
            swan.makePhoneCall({
                phoneNumber,
                // phoneNumber: '0313-xxxx xxxx',
                // phoneNumber: '(0313)xxxx xxxx',
                // phoneNumber: '0313 xxxx xxxx',
                // phoneNumber: 'txk0bkt', // 8950258
                fail: err => {
                    swan.showModal({
                        title: '拨打失败',
                        content: '请检查是否输入了正确的电话号码',
                        showCancel: false
                    });
                }
            });
        }
    });
    
    

    # 错误码

    # Android

    错误码 说明
    201 解析失败,请检查调起协议是否合法
    202 解析失败,请检查参数是否正确
    302 找不到调起协议对应端能力方法
    1001 执行失败

    # iOS

    错误码 说明
    202 解析失败,请检查参数是否正确