解决 Android net::ERR_UNKNOWN_URL_SCHEME

解决 Android net::ERR_UNKNOWN_URL_SCHEME

问题背景

有天测试人员告诉我通过Android app无法打开h5页面。
我楞了一下,我明明测试过呀。。直到测试人员发个截图过来,我才愰然大悟。
net::ERR_UNKNOWN_URL_SCHEME

原因

Android 打开url时,默认只能识别http和https, 连系统自带的tel://都无法识别。
甚至还有第三方app自定义的url schema。
为了解决,必须在webview里加识别代码。

解决办法

@Override
 public boolean shouldOverrideUrlLoading(WebView view, String url) {
     try {
         if (!url.startsWith("http:") ||!url.startsWith("https:")) {
             Intent intent = new Intent(Intent.ACTION_VIEW,
                     Uri.parse(url));
             startActivity(intent);
             return true;
         }
     }
     catch (Exception e){
         return false;
     }

     view.loadUrl(url);
     return true;
 }

搞定!

Tags:
11 Comments