首页
吐槽
友链
关于
Search
1
【React Native】如何拨打电话?
782 阅读
2
WHMCS官方最新版下载+开心教程
759 阅读
3
为TypeScript项目添加Eslint和Prettier
524 阅读
4
React Native原理和架构
360 阅读
5
本站免费提供微软office A1P、A1账号
306 阅读
前端开发
后端开发
源码分享
技术分享
生活娱乐
影视评价
闲言碎语
登录
Search
标签搜索
ios
前端
JavaScript
阿里
Teambition
typecho
小火箭
shadowsocks
React
React Native
SQL
eslint
prettier
typescript
GraphQL
WHMCS
WHMCS开心版
Zsh
on-my-zsh
代理
夜雨
累计撰写
31
篇文章
累计收到
46
条评论
首页
栏目
前端开发
后端开发
源码分享
技术分享
生活娱乐
影视评价
闲言碎语
页面
吐槽
友链
关于
搜索到
1
篇与
React
的结果
【React Native】如何拨打电话?
2021年04月28日
782 阅读
1 评论
3 点赞
2021-04-28
前言每次都知道使用React Native提供的Linking来进行调用,但是过很长时间就忘记了。记得不太熟悉,所以就有此文章了。场景点击按钮调用原生(android/ios)拨号界面,并填充号码。添加权限ios版本在9.0之后,都需要在Info.plist里添加一个叫LSApplicationQueriesSchemes的Array,将tel添加进去,否则在模拟器上会出现警告,若是使用canOpenURL来判断是否的话,捕获的错误也是让你添加。安卓不需要添加任何权限,即可调用。实现 const tel = `tel:${item.mobile}` Linking.canOpenURL(tel) .then(supported => { if (!supported) { console.log('Can not handle tel:', tel) } else { return Linking.openURL(tel) } }) .catch(err => { console.log('tel error:', err) }) 注:ios模拟器上,会弹出一个warning,这是因为ios模拟器不支持打电话。因此在代码中添加了supported字段,判断是否可以处理,避免弹出warning。其他功能对于web链接来说,协议头("http://", "https://")不能省略!可调用系统的其他应用,调用方式依然是判断是否安装应用,或者是否打开该url,再通过Linking.openURL启动。比如电话、短信、邮件。基本上都可以使用以上实现方式