鸿蒙Webview加载Url,alipay无法返回

背景:

1、系统自带WebView

2、继承了WebAgent,重写了isNeedLoadUrl方法

@Override
public boolean isNeedLoadUrl(WebView webView, ResourceRequest request) {
    if (request == null || request.getRequestUrl() == null) {
        return false;
    }
    String url = request.getRequestUrl().toString();
    L.d("isNeedLoadUrl=>" + url);
    if (url.startsWith("http:") || url.startsWith("https:")) {
        webView.load(url);
        return false;
    } else if (url.startsWith("alipays:")) {
        try {
            Intent intent1 = new Intent();
            intent1.setAction("android.intent.action.VIEW");
            intent1.setUri(Uri.parse(url));
            a.startAbility(intent1);
            return true;
        } catch (Exception e) {
            L.e(e);
            return false;
        }
    } else {
        return super.isNeedLoadUrl(webView, request);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.


3、加载一个url,有一个支付功能,选择Alipay可跳转网页。

问题:

当我在支付页面选择取消时并点击左上角返回,发现WebAgent.onLoadingPage打印的url还是当前的url;然后又执行了WebAgent.isNeedLoadUrl陷入死循环,返回不了。

如果WebAgent.onLoadingPage恢复原始代码return super.isNeedLoadUrl(webView, request);跳转不了alipay网页支付页面

鸿蒙Webview加载Url,alipay无法返回-鸿蒙开发者社区

期望:

可跳转alipay成功支付、取消支付并返回上一页。

#鸿蒙 #webview
2021-11-04 14:13:02
3137浏览
已于2021-11-11 10:27:28修改
收藏 0
回答 1
回答 1
按赞同
/
按时间
mb60a50b2a97d99

顶一下!!!

分享
微博
QQ
微信
回复
2021-11-08 10:49:11


相关问题
HarmonyOS WebView加载url无法滚动
709浏览 • 1回复 待解决
HarmonyOS webview加载url白屏
934浏览 • 1回复 待解决
WebView加载网页无法自适应
1259浏览 • 1回复 待解决
HarmonyOS webview无法加载file协议路径
618浏览 • 1回复 待解决
HarmonyOS webview加载页面无法显示
1766浏览 • 1回复 待解决
HarmonyOS flutter_webview重定向无法返回
905浏览 • 1回复 待解决
webview加载url后页面一片空白,无报错
4009浏览 • 1回复 待解决
在router.back中加入指定url无法返回
942浏览 • 1回复 待解决
Vue工程导出的dist, webview无法加载
952浏览 • 1回复 待解决
通过webView修改iframe的URL
1406浏览 • 1回复 待解决
鸿蒙webview加载优化
1844浏览 • 1回复 待解决
HarmonyOS Web 加载URL异常
1333浏览 • 1回复 待解决