Bootstrap

uni问题:APP端打包后拨打电话功能失效

 

素材编辑 | 宋大狮

排版运营 | 小唐狮

ONE 问题描述

今天要和大家分享的是关于uni的问题,大狮感觉这个问题真的很糟心呀。

需求:在重置密码的时候,点击重置密码,会在弹出的模态框中显示拔打电话按钮,当点击拔打电话按钮时,会自动跳转到系统拨号界面。

问题:点击拔打电话按钮,在真机测试时,会自动跳转到系统拨号界面,没有任何问题。但是,将项目打包之后,在安卓机和苹果机上面都没有效果,无法正常跳转。

TWO 解决过程

尝试一:

思路:因为在真机测试时是没有问题的,所以考虑是否是打包时项目配置的问题。

实现:在manifest项目配置文件中,一番查看打包配置,发现在App权限配置中,安卓的CALLPHONE权限没有勾选,勾选后继续向下翻找,但似乎翻了一天一夜,都没有发现苹果对应的配置,于是只好直接重新打包测试。

结果:安卓机测试成功实现拨号功能,而苹果机测试在意料之中,依然没有效果。

尝试二:

思路:既然苹果打包配置没有问题,考虑是否是拨打电话API处的问题。

实现:在网上搜索一番后,发现苹果机的电话号码中,不能含有空格、斜杠等特殊字符,不然没有效果。看到这时,当场我就想吐槽点uni官方什么,此处省略一万个文明用语。回到makePhoneCall API处,修改电话号码参数,然后重新打包测试。

结果:苹果机测试也成功实现拨号功能。

THERE 知识总结

总结一:问题复盘

uni中通过makePhoneCall API实现拔打电话,将项目打包前,记得在manifest项目配置文件的权限配置项中,勾选安卓的CALLPHONE权限,并且记得修改电话号码参数的格式,保证其不能含有空格、斜杠等特殊字符。

总结二:makePhoneCall API

作用:拨打电话。

参数:

示例:

uni.makePhoneCall({
    phoneNumber: '114' //仅为示例
});

FOUR 集思广益

欢迎大家对本问题留言或私信指教,一起学习提高!

- END -

ABOUT 关于作者

  • 宋大狮 | 轻轻松松工作,简简单单生活

  • 小唐狮 | 广场舞大军中最靓的仔

;