uni-app在不同平台下拨打电话的示例

uni-app在不同平台下拨打电话的示例

场景

在App中拨打电话是一个比较常见的应用场景,但是我们通过搜索文章,发现,大部分的博文都是uni-app官网的copy, copy

uni-app 提供的打电话,只是帮你把拨号界面呼出来,并不能直接拨打, 安卓原生API可以,IOS因为权限问题,不行

那么,我们可以做个判断,如果是安卓,点击了 直接就把电话拨出来,其他的平台,使用uni-app默认的唤起拨号界面

实现机制

HTML5+ 提供的接口  plus.device.dial 这个SDK的使用,是需要引入包的uni-app 对外提供的接口  uni.makePhoneCallIOS和 Andriod 提供原生的接口- 不熟悉原生开发,会有困难在移动端浏览器 H5页面  

10086复制代码

登录后复制

废话不多说,直接上代码说明下面是通过 条件编译+ 各平台代码接口实现

testDevice.vue

          10086-h5平台下    // 对不同的平台有一点区分  import telphone from './telphone.js'  export default {    methods: {      telphone() {        // 通过传递电话参数,调用不同平台拨打电话的功能        telphone("10086")      }    }  }复制代码

登录后复制

我们这里 不关注界面问题,避免分散各位看官老爷的关注点,重点看js中的实现

请注意,一定使用 条件编译,可以支持不同的场景, 上面的是 App端(IOS和Andriod), 下面是普通的h5

telphone.js

//#ifdef H5import VConsole from 'vconsole'new VConsole()//#endifexport default (phone) => {    // 获取设备平台    let platform = uni.getSystemInfoSync().platform     //#ifdef H5    // h5环境--浏览器    let ua = navigator.userAgent.toLowerCase()    // 就要判断 是微信内置浏览器还是用户的普通浏览器    if (ua.match(/MicroMessenger/i) == "micromessenger") {        // 微信浏览器        console.log('微信浏览器')    } else {        // 普通浏览器     }    //#endif    //#ifdef APP-PLUS    // app环境    switch (platform) {        case 'android':            // 导入Activity、Intent类            var Intent = plus.android.importClass("android.content.Intent");            var Uri = plus.android.importClass("android.net.Uri");            // 获取主Activity对象的实例              var main = plus.android.runtimeMainActivity();            // 创建Intent              var uri = Uri.parse("tel:" + phone); // 这里可修改电话号码              var call = new Intent("android.intent.action.CALL", uri);            // 调用startActivity方法拨打电话              main.startActivity(call);            break;        case 'ios':            // 使用uni-app提供的借口            uni.makePhoneCall({                phoneNumber: phone            })            break;        default:            // 调试器工具    }    //#endif}复制代码

登录后复制

注意事项

条件编译, 我们在使用  VConsole 的时候,如果不使用条件编译,在App端是会报错的一定不能将import语句 写在if判断或者 三目运算中, 会报错, 要理解ES6模块加载的机制通过uni-app提供的接口,判断是App平台(IOS或者Andriod) ,怎么区分普通浏览器和微信浏览器还是依赖条件编译上述的无论是uni-app提供的API实现还是,Andriod的 SDK 都是跳出 App拨打电话,挂断以后,还是会调回App界面

plus.device.dial 需要引入对应的SDK, 这个其实有是要通过 条件编译,判断当前所处的环境,上面的已经够用,其实和引入 vconsole 是一样的道理

了解其他文章敬请访问uni-app栏目!

以上就是uni-app在不同平台下拨打电话的示例的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3032505.html

(0)
上一篇 2025年3月13日 08:45:15
下一篇 2025年3月13日 08:45:23

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 基于uni-app实现图片上传JS插件

    相关学习推荐:javascript(视频) 使用前先new 一下 所有方法均返回 promise 对象 可使用then() 写后续业务 或 使用 async await 预览一下 体验一下 h5 地址 http://uni_upload.g…

    2025年3月13日
    200
  • uni-app实现微信端性能翻倍的妙招

    相关学习推荐:微信小程序开发教程 多次论证、数月研发,我们重写部分Vue底层、重构uni-app框架,实现了微信端性能翻倍及更多Vue语法支持。 背景 uni-app在初期借鉴了mpvue,实现了微信小程序端的快速兼容,感谢美团点评团队对于…

    2025年3月13日
    200
  • uni-app 小程序 Laravel+jwt 权限认证系列

    uni-app开发教程栏目介绍系列权限认证的方法。 推荐:uni-app开发教程 环境说明 uni-applaravel 5.7 + jwt-auth 1.0.0 权限认证整体说明 设计表结构前端 request 类有关权限认证的 js 封…

    2025年3月13日
    200
  • 使用脚手架创建uni-app项目

    “ 闲来无事写写小程序,于是想用uni-app框架来实现,本文将会对创建步骤进行详解。 ” 前言 本文主要针对小程序框架uni-app的创建展开介绍,如果你也是新手那就可以跟着咔咔的节奏一起来。 一、安装node.js 打开官网安装咔咔圈起…

    2025年3月13日 编程技术
    200
  • uniapp如何查看签名信息

    uniapp查看签名信息的方法:首先将apk修改后缀为【.zip】文件后解压;然后进入解压后的【META-INF】目录;最后 在该目录下打开cmd,输入命令 【keytool -printcert -file CERT.RSA】即可查看。 …

    2025年3月13日
    200
  • uni-app如何获取dom节点

    uniapp获取dom节点的方法:1、获取匹配选择器的第一个节点,代码为【let dom=query.select(selector)】;2、获取匹配选择器的所有节点,代码为【letdoms=query.selectAll(selec.】。…

    2025年3月13日
    200
  • uniapp如何实现选项卡功能

    uniapp实现选项卡功能的方法:首先写一个外框,把选项卡固定在顶部使用【display: flex】;然后使用三目运算分别赋一个排序,如果选中则添加【inv-h-se】样式;最后写2个不同的容器,使用【v-show】来切换。 本教程操作环…

    2025年3月13日
    200
  • Uniapp怎么引入外部js

    Uniapp引入外部js的方法:首先新建一个indexl文件,引入外部js,代码为【】;然后打开manifest文件。 本教程操作环境:windows7系统、uni-app2.5.1版本,Dell G3电脑该方法适用于所有品牌电脑。 推荐(…

    2025年3月13日
    200
  • uni-app如何执行同步请求

    uni-app执行同步请求的方法:首先打开Hbuilder新建一个【uni-app】的默认模板;然后用request进行请求,并用async搭配await;接着在调用方法中返回Promise;最后执行以后就看到request变成同步请求。 …

    2025年3月13日 编程技术
    200
  • uniapp如何点击按钮实现跳转界面

    uni-app点击按钮实现跳转界面的方法:首先创建好要跳转的页面路径;然后接收的页面里面简单标识,并点击按钮就会跳转到新页面;最后通过指定type跳转到当前页和底部tab页面。 本教程操作环境:windows7系统、uni-app2.5.1…

    2025年3月13日 编程技术
    200

发表回复

登录后才能评论