uniapp 语音输入,uni-app发送请求
UNI-APP开发(仿饿)开发课程:进入学习
场景
在App中打电话是常见的应用场景,但是我们通过搜索文章发现大部分博文都是copy,uni-app官网的copy。
Uni-app提供电话,只帮你呼出拨号接口,不能直接拨号。Android原生API可以,IOS因为权限不行。
然后,我们才能做出判断。如果是安卓,点一下直接拨电话。对于其他平台,使用uni-app的默认唤醒拨号接口。
实现机制
html 5 interface plus . device . dial这个SDK的用途是uni-app提供的需要引入包的接口。uni.makePhoneCallIOS和Andriod提供了原生接口——如果你不熟悉原生开发,复制手机浏览器H5页面的代码会有困难。a href=电话:1008610086/a,别废话,直接去码。
以下是通过平台代码接口的条件编译来实现的。
testDevice.vue
视角
!- #ifdef APP-PLUS -
Button @tap=telphone 呼叫/按钮
!- #endif -
!-#伊夫H5-
A href=电话:1008610086-h5平台/a
!- #endif -
/查看
脚本
//不同平台有一点点区别
从导入telphone。/telphone.js
导出默认值{
方法:{
telphone() {
//通过传递电话参数调用不同平台的函数进行电话呼叫。
电话( 10086 )
}
}
}
/script复制代码。我们这里不关注接口问题,以免分散你的注意力。我们关注js中的实现。
请注意,必须使用条件编译,它可以支持不同的场景。上面的是App端(IOS和Andriod),下面的是普通的h5。
电话网
//#伊夫H5
从“vconsole”导入VConsole
新的VConsole()
//#endif
导出默认值(电话)={
//获取设备平台
let platform=uni . getsysteminfosync()。平台
//#伊夫H5
//h5环境浏览器
let ua=navigator . user agent . tolowercase()
//需要判断是微信的内置浏览器还是用户的普通浏览器。
if(ua . match(/micro messenger/I)= micro messenger ){
//微信浏览器
Console.log(微信浏览器)
}否则{
//普通浏览器
}
//#endif
//#ifdef APP-PLUS
//应用环境
开关(平台){
案例“android”:
//导入活动和意图类
var Intent=plus . Android . import class( Android . content . Intent );
var Uri=plus . Android . import class( Android . net . Uri );
//获取主活动对象的实例
var main=plus . Android . runtimemainactivity();
//创建意图
var uri=uri . parse( tel: phone );//这里可以修改电话号码。
var call=new Intent( Android . Intent . action . call ,uri);
//调用startActivity方法来打电话
main.startActivity(调用);
打破;
案例“ios”:
//使用uni-app提供的借口
uni.makePhoneCall({
电话号码:电话
})
打破;
默认值:
//调试器工具
}
//#endif
}复制代码
注意事项
条件编译。我们在使用VConsole的时候,如果不使用条件编译,会在App端报错。我们一定不要把import语句写在IF判断或者三元运算中,那样会报错。要通过uni-app提供的接口了解ES6模块加载的机制,判断是app平台(IOS还是Andriod)。如何区分普通浏览器和微信浏览器还是依靠条件编译?无论是uni-App提供的API实现还是以上,Andriod的SDK都是跳出App进行调用。挂机后会被回调到app界面plus.device.dial有必要引入相应的SDK。其实需要通过条件编译来判断当前的环境,以上就够了。其实和vconsole的推出是一样的。
其他文章请访问uni-app专栏!
以上是uni-app在不同平台调用的例子细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。