亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

工作中碰到的那些坑(二)-安卓混合開發webview打開鏈接出錯

2019-11-09 18:32:41
字體:
來源:轉載
供稿:網友
遇到的問題:
安卓混合開發,webview打開一個支付寶鏈接失敗報錯
18887-18887/com.doumi.bclient E/DefaultWebViewClient: webview error !!!!errorCode=-5,failingUrl=https://mapi.alipay.com/gateway.do?_input_charset=utf-8&it_b_pay=1d?ify_url=http://pay.jz.ganji.com/pay/notify/alipay.php&out_trade_no=2016031800029972&partner=2088121187952426&payment_type=1&return_url=http://m.vip.doumi.com/bwap/return/?rp=mobile&aPPType=client&uid=470715&charge_no=20160318145829289732347&seller_id=2088121187952426&service=alipay.wap.create.direct.pay.by.user&subject=%E5%95%86%E6%88%B7%E5%85%85%E5%80%BC&total_fee=0.01&sign=6673afba777e8cf4860e7b9326616c20&sign_type=md5,description=net::ERR_PROXY_CONNECTION_FAILED
分析:
step1: 在4.4以下的版本不出錯,4.4以上的版本才出錯step2: 抓包,得到服務器端傳回的鏈接,經測試能正常打開(如下):
https://mapi.alipay.com/gateway.do?_input_charset=utf-8&it_b_pay=1d?ify_url=http%3A%2F%2Fpay.jz-test.ganji.com%2Fpay%2Fnotify%2Falipay.php&out_trade_no=2016031800001416&partner=2088121187952426&payment_type=1&return_url=http%3A%2F%2Fm.vip.doumi.com%2Fbwap%2Freturn%2F%3Frp%3Dmobile%26apptype%3Dclient%26uid%3D117401%26charge_no%3D2016031814582987451524&seller_id=2088121187952426&service=alipay.wap.create.direct.pay.by.user&subject=%E5%95%86%E6%88%B7%E5%85%85%E5%80%BC&total_fee=10&sign=1f25c2ce1e53a952301b8ccaf60bae0f&sign_type=MD5step3:跟h5聯合調試,h5收到url以后就進行urlencode,傳回給native。(urlencode之后的鏈接如下)
https%3a%2f%2fmapi.alipay.com%2fgateway.do%3f_input_charset%3dutf-8%26it_b_pay%3d1d%26notify_url%3dhttp%253A%252F%252Fpay.jz-test.ganji.com%252Fpay%252Fnotify%252Falipay.php%26out_trade_no%3d2016031800001416%26partner%3d2088121187952426%26payment_type%3d1%26return_url%3dhttp%253A%252F%252Fm.vip.doumi.com%252Fbwap%252Freturn%252F%253Frp%253Dmobile%2526apptype%253Dclient%2526uid%253D117401%2526charge_no%253D2016031814582987451524%26seller_id%3d2088121187952426%26service%3dalipay.wap.create.direct.pay.by.user%26subject%3d%25E5%2595%2586%25E6%2588%25B7%25E5%2585%2585%25E5%2580%25BC%26total_fee%3d10%26sign%3d1f25c2ce1e53a952301b8ccaf60bae0f%26sign_type%3dMD5step4: native收到h5的鏈接以后進行urldecode( urlDecode以后的代碼如下),然后再從webview的loadUrlExt打開
https://mapi.alipay.com/gateway.do?_input_charset=utf-8&it_b_pay=1d?ify_url=http%3A%2F%2Fpay.jz-test.ganji.com%2Fpay%2Fnotify%2Falipay.php&out_trade_no=2016031800001416&partner=2088121187952426&payment_type=1&return_url=http%3A%2F%2Fm.vip.doumi.com%2Fbwap%2Freturn%2F%3Frp%3Dmobile%26apptype%3Dclient%26uid%3D117401%26charge_no%3D2016031814582987451524&seller_id=2088121187952426&service=alipay.wap.create.direct.pay.by.user&subject=%E5%95%86%E6%88%B7%E5%85%85%E5%80%BC&total_fee=10&sign=1f25c2ce1e53a952301b8ccaf60bae0f&sign_type=MD5截止到這一步為止,urldecode以后的url都能在瀏覽器里打開。。仔細對比報錯信息里的failingUrl和當前decode以后的url發現,failingUrl是decode以后再進行了一次decode得到的,這是為什么呢。。。
復習知識點:
Android4.4的發布,Android WebView改成由Chromium驅動了。之前是用webkit。Android4.4 webview有一個專門用于異步調用javaScript方法,evaluateJavascript() 。
root cause:
android4.4以及以上的webview都需要用evaluateJavascript() 調用javascript的方法。用loadUrl會自動進行一次urldecode,再將結果傳遞給javascript。為了規避這一問題,需要采用以下邏輯:
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)    {        try       {            aWebView.evaluateJavascript(aJS, null);       }        catch (Exception e)        {            aWebView.loadUrlExt("javascript:" + aJS);       }    }    else   {        aWebView.loadUrlExt("javascript:" + aJS);   }
參考資料:
Android 4.4 中 WebView使用注意事項  http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1106/1920.htmlAndroid 4.4 WebView實現分析  http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1106/1921.htmlAndroid JSBridge的原理與實現  http://blog.csdn.net/dj0379/article/details/50766238
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久中文字幕| 丝袜美腿亚洲一区二区| 亚洲一区999| 日韩av手机在线看| 日韩在线中文字幕| 国产一区二区在线播放| 97人人爽人人喊人人模波多| 亚洲精品中文字幕有码专区| 色七七影院综合| 国精产品一区一区三区有限在线| 亚洲成人久久电影| 国产亚洲a∨片在线观看| 亚洲va男人天堂| 欧美激情伊人电影| 91高清视频免费观看| 九九热这里只有精品免费看| 亚洲乱码国产乱码精品精| 欧美激情奇米色| 97超碰色婷婷| 亚洲性线免费观看视频成熟| 国产日韩精品在线| 在线丨暗呦小u女国产精品| 日韩毛片在线观看| 成人xxxxx| 国产欧美精品一区二区| 欧美日韩成人在线播放| 成人黄色av免费在线观看| 亚洲精品视频在线播放| 日韩一区视频在线| 亚洲视频自拍偷拍| 亚洲成人精品视频| 欧美成人网在线| 欧美肥老太性生活视频| 另类美女黄大片| 久久久免费观看| 久久久精品久久久久| 日韩理论片久久| 中文字幕免费精品一区高清| 91高清在线免费观看| 精品久久在线播放| 日韩国产精品一区| 亚洲图片欧洲图片av| 亚洲第一视频在线观看| 668精品在线视频| 久久精品美女视频网站| 亚洲激情视频网| 在线观看亚洲区| 77777亚洲午夜久久多人| 欧美电影免费观看高清完整| 亚洲自拍偷拍网址| 人人做人人澡人人爽欧美| 日韩精品高清视频| 亚洲风情亚aⅴ在线发布| 亚洲精品99久久久久| 91精品国产91久久| 日韩在线精品一区| 成人网中文字幕| 久久精品国产99国产精品澳门| 91精品国产乱码久久久久久久久| 中文字幕精品www乱入免费视频| 久久精品精品电影网| 中文字幕精品一区二区精品| 国产午夜精品视频免费不卡69堂| 国产精品久久久久久久久免费看| 欧美激情精品久久久久| 亚洲摸下面视频| 欧美大片在线看免费观看| 最好看的2019的中文字幕视频| 91精品国产91| 日韩av片永久免费网站| 亚洲视频国产视频| 亚洲国产日韩欧美在线动漫| 18久久久久久| 综合网中文字幕| 久久av红桃一区二区小说| 97热在线精品视频在线观看| 国产亚洲a∨片在线观看| 91精品视频专区| 国产精品私拍pans大尺度在线| 欧美性在线观看| 日本高清久久天堂| 日韩大片免费观看视频播放| 日av在线播放中文不卡| 久久久久久久激情视频| 欧美日韩国产综合视频在线观看中文| 欧美激情高清视频| 欧美在线视频网站| 国产精品美女www| 久久久国产精彩视频美女艺术照福利| 国产成人拍精品视频午夜网站| 国产91露脸中文字幕在线| 欧美电影在线播放| 欧美日韩免费看| www.99久久热国产日韩欧美.com| 国产欧美日韩中文字幕在线| 久久综合国产精品台湾中文娱乐网| 国产精品一区二区三区免费视频| 精品爽片免费看久久| 不卡av在线网站| 国产欧美一区二区三区久久| 亚洲最大的网站| 欧美有码在线观看视频| 日韩精品免费在线| 欧美激情二区三区| 亚洲综合日韩中文字幕v在线| 亚洲精品欧美极品| 奇米一区二区三区四区久久| 在线观看视频亚洲| 91视频国产一区| 日韩av高清不卡| 亚洲国产欧美在线成人app| 亚洲第一国产精品| 国产精品国产福利国产秒拍| 亚洲人成网7777777国产| 国产精品嫩草视频| 国产精品久久av| 久久久伊人欧美| 国产一区二区在线免费| 成人激情视频在线| 亚洲精品一区二区三区婷婷月| 日韩经典中文字幕在线观看| 91综合免费在线| 欧美一级成年大片在线观看| 97视频在线观看成人| 国产成人精品av| 国产在线一区二区三区| 欧美性猛交xxxx乱大交| 91情侣偷在线精品国产| 日韩精品丝袜在线| 久久久久久久久久av| 91网站在线免费观看| 97精品国产97久久久久久春色| 国产一区二区在线播放| 欧美亚洲视频在线看网址| 国产成人精品免高潮费视频| 岛国av一区二区| 国产精品草莓在线免费观看| 亚洲第一精品夜夜躁人人爽| 日韩一区二区福利| 亚洲欧美精品在线| 成人激情视频在线观看| 国产精品狠色婷| 日韩av在线看| 欧美大片欧美激情性色a∨久久| 国产精品一区二区三区毛片淫片| 欧美日韩黄色大片| 亚洲美女福利视频网站| 一区二区三区高清国产| 成人做爰www免费看视频网站| 粉嫩av一区二区三区免费野| 国产精品自拍偷拍| 欧美国产日韩一区| 亚洲综合大片69999| 伦理中文字幕亚洲| 亚洲欧洲高清在线| 国产一区视频在线播放| 97高清免费视频| 91tv亚洲精品香蕉国产一区7ujn| 动漫精品一区二区| 欧美激情综合亚洲一二区| 亚洲人成电影网| 亚洲xxxxx性| 欧美日韩精品中文字幕| 国产成人一区二区三区电影|