关于uniappH5安卓机拨打电话报错 tel:177*******6 的网页无法加载,因为: net::ERR_UNKNOWN_URL_SCHEME
介绍一下报错具体情景:1、项目:uniapp H52、报错手机平台:安卓3、使用方法:(1)uni.makePhoneCall() 不兼容 Android,所以可以通过uni.getSystemInfo()进行版本判断操作;(2)App自定义的拨打电话方法,需要用到与app进行交互的“桥”,这个可以问你的app同学或者了解一下"桥";如果你和我的情况一样,你就可以这样了写了。1、main.js 入
·
介绍一下报错具体情景:
1、项目:uniapp H5
2、报错手机平台:安卓
3、使用方法:
(1)uni.makePhoneCall() 不兼容 Android,所以可以通过uni.getSystemInfo()进行版本判断操作;
(2)App自定义的拨打电话方法,需要用到与app进行交互的“桥”,这个可以问你的app同学或者了解一下"桥";
如果你和我的情况一样,你就可以这样了写了。
1、main.js 入口文件里定义(如果你用的情景不多,也可以写成自己的方法)
/**引入APP交互 桥 **/
import Bridge from './config/bridge.js'
// 这边是我们app童鞋的方法,大家可以参考一下
const bridgeType = {
'chat': 1, // 打开app聊天
'back': 2, // 调用app返回 handleName:jsBackAction
'share': 3, // 调用app分享 handleName:jsShareAction
'showHiddenNav': 4, // 是否显示原生导航栏 handleName:showOrHiddenNavigation
'qq': 5, // 打开app qq
'userInfo': 6, // 打开用户信息
'tel': 7, // 打开用户信息
'gps': 8, // 获取gps信息
'doloadFile': 9, // jsDowloadFileApp
'scanQrCode': 10, //调用摄像头二维码扫描
}
// 注册全局方法
Vue.prototype.$openTel = function(tel) {
if (null == tel || tel == '') {
alert("电话为空");
return false;
}
//android 调用
uni.getSystemInfo({
success: function(res) {
if (res.platform === 'android') {
//tel
var d = {
'tel': tel
};
//调用app返回数据格式封装
var objData = {
'type': bridgeType.tel,
'data': d,
'handleName': "jsOpenAppTelFunction"
};
try {
//桥
if (null == Bridge || Bridge == '' || Bridge == undefined) {
window.location.href = "tel:" + tel;
} else {
//调用你们自己的 app 桥
Bridge.openAppFunction(objData);
}
} catch (e) {
alert("打开电话失败");
}
} else {
uni.makePhoneCall({
phoneNumber: phoneNum,
fail() {
window.location.href = "tel:" + tel;
}
});
}
}
});
}
更多推荐
已为社区贡献9条内容
所有评论(0)