HarmonyOS 鸿蒙Next Web组件点击tel:类型超链接后白屏,未唤起拨打电话
7 回复
需要在 onLoadIntercept
处理
更多关于HarmonyOS 鸿蒙Next Web组件点击tel:类型超链接后白屏,未唤起拨打电话的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
请问这个有解决吗?是不是不支持啊
嵌入到鸿蒙里面的H5也遇到这个问题,怎么解决?
window.location.href = 'tel:10086'白屏
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17
通过 call.makeCall
方法跳转到拨号页面,在返回退出的时候无法回退到app中,你们没有出现这问题嘛?在我看来应该用want的方式跳转更好。
import web_webview from '@ohos.web.webview';
import call from '@ohos.telephony.call';
import { BusinessError } from '@ohos.base';
@Entry
@Component
struct WebComponent {
webviewController: web_webview.WebviewController = new web_webview.WebviewController();
build() {
Column() {
Web({ src: $rawfile('call.html'), controller: this.webviewController})
.onLoadIntercept((event) => {
if (event) {
let url: string = event.data.getRequestUrl();
// 判断链接是否为拨号链接
if (url.indexOf('tel://') === 0) {
call.makeCall(url.substring(6),(err: BusinessError) => {
if (!err) {
console.log("make call success.");
} else {
console.log("make call fail, err is:" + JSON.stringify(err));
}
});
return true;
}
}
return false;
})
}
}
}
针对HarmonyOS鸿蒙Next Web组件点击tel:
类型超链接后出现白屏,未正常唤起拨打电话的问题,可能的原因及解决方案如下:
原因:
- Web组件可能未正确处理
tel:
协议链接。 - 系统权限设置可能阻止了应用唤起拨号界面。
- Web组件或底层系统存在bug。
解决方案:
- 检查Web组件配置:确保Web组件已正确配置以支持
tel:
协议链接。查阅鸿蒙官方文档,确认是否有特定配置需要调整。 - 检查应用权限:确保应用具有拨打电话的权限。在鸿蒙系统设置中检查应用的权限设置,确保拨打电话权限已开启。
- 更新系统或组件:检查是否有可用的系统或Web组件更新。更新可能包含对此类问题的修复。
- 使用替代方案:如果问题持续存在,考虑使用JavaScript等方式在Web应用中实现拨打电话的功能,如通过调用系统API或第三方库来触发拨号界面。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html