uni-app 实现向系统拨号键盘传入带*#等符号调起拨打电话

发布于 1周前 作者 eggper 来自 Uni-App

uni-app 实现向系统拨号键盘传入带*#等符号调起拨打电话

开发环境及项目信息

信息类别 详情
开发环境 UNIAPP
版本号 未知
项目创建 未知

向拨号键盘传入“21手机号码#”、“#6776#”等代码并直接向该代码拨号(其中手机号码由我们自己传入)。目前UNI自带的uni.makePhoneCall(OBJECT)不能向系统拨号键盘传入“#”。

6 回复

专业原生插件开发企业 联系微信:zhimitec


这个插件我有, 专业插件开发,Q 1196097915 不收预付款 满意在付款

一看就是做呼叫转移的,我这有!扣:3328350766

这里有现成的

技术咨询vx:web9688

在 uni-app 中,你可以使用 uni.makePhoneCall 方法来调起系统拨号键盘并拨打电话。尽管 uni.makePhoneCall 方法通常用于拨打普通的电话号码,但也可以传入包含 *# 等符号的字符串。需要注意的是,有些符号(如 #*)在某些系统中可能会有特殊含义,具体行为可能会依赖于操作系统和设备的实现。

以下是一个简单的代码示例,展示如何在 uni-app 中实现向系统拨号键盘传入带 #* 符号的电话号码并调起拨打电话:

// 在页面的 methods 中定义一个拨打电话的函数
methods: {
  dialPhoneWithSymbols(phoneNumber) {
    // 检查电话号码是否为字符串类型
    if (typeof phoneNumber !== 'string') {
      console.error('Phone number must be a string');
      return;
    }

    // 使用 uni.makePhoneCall 方法调起拨打电话界面
    uni.makePhoneCall({
      phoneNumber: phoneNumber, // 传入带 *# 等符号的电话号码
      success: function () {
        console.log('Phone call initiated successfully');
      },
      fail: function (err) {
        console.error('Failed to initiate phone call:', err);
      }
    });
  }
}

// 在页面的某个事件(如按钮点击)中调用该函数
onLoad() {
  // 示例电话号码,包含 *# 符号
  const phoneNumberWithSymbols = '*123#4567890';

  // 假设你有一个按钮,点击后调用拨打电话的函数
  this.$refs.dialButton.addEventListener('click', () => {
    this.dialPhoneWithSymbols(phoneNumberWithSymbols);
  });

  // 注意:在 uni-app 中,通常不会直接使用 DOM 操作(如 addEventListener),
  // 这里只是为了说明调用时机。在实际应用中,你可能会在模板中使用 @click 绑定事件。
  // 例如:
  /*
  <template>
    <button @click="dialPhoneWithSymbols(phoneNumberWithSymbols)">Dial Phone</button>
  </template>
  */
},

注意事项

  1. 权限:在 Android 上,你可能需要在 manifest.json 中声明拨打电话的权限。
  2. 用户体验:在实际应用中,直接拨打电话前最好给用户一个确认提示,以避免误操作。
  3. 符号处理:虽然大多数系统可以处理 #* 符号,但最好在测试阶段在不同设备和操作系统上验证行为。

这段代码展示了如何在 uni-app 中实现向系统拨号键盘传入带 #* 符号的电话号码并调起拨打电话的基本流程。

回到顶部