Android проблема с WebViewClient - PullRequest
       30

Android проблема с WebViewClient

0 голосов
/ 23 апреля 2020

У меня есть несколько веб-адресов, которые возвращаются сервером. Мой код веб-просмотра выглядит следующим образом:

 WebSettings settings = mWebView.getSettings();
 settings.setDomStorageEnabled(true);
 settings.setJavaScriptEnabled(true);
 settings.setJavaScriptCanOpenWindowsAutomatically(true);

 mWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if(condition){
               //Some code
               return false;
            }
            return super.shouldOverrideUrlLoading(view, url);
        }
 });

Он не обрабатывает схемы URL, такие как tel:, mailto:, or invoking javascript:void(). Если я удаляю клиент webview, он работает нормально, значит tel: запускает телефонную звонилку. Я не могу удалить веб-клиента.

Я могу поставить чек if(URLUtil.isNetworkUrl(url)) и сделать все, но я должен явно обработать эти tel :, mailto :, whatsapp :, et c. URL-схемы. Вместо того, чтобы обрабатывать эти схемы самостоятельно, я ищу какое-то решение, с которым ОС справится сама (как это делается по умолчанию с tel: или mailto:, даже если мы не устанавливаем клиент webview, если это возможно).

...