Чтобы проверить, будет ли вызван веб-просмотр должен вызываться или нет? - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть приложение для Android, где я использую webview для загрузки html-файла, который вызывает функцию javascript следующим образом:

java:

 mWebView.getSettings().setJavaScriptEnabled(true);
 mWebView.loadUrl("file:///android_asset/dog.html");
 mWebView.setWebChromeClient(new WebChromeClient());
 mWebView.loadUrl("javascript:sayhello('how are you')");
 mWebView.setWebViewClient(getWebViewClient());

html:

    <head>
    <script type="text/javascript" src="somelibrary.js"></script>
    </head>
<body>
<script>
function sayhello(text){
somelibrary.somefunc(text);
}
</script>
</body>

Теперь в моем приложении я перехватываю запрос, поступающий в библиотеку js, как показано ниже:

 private WebViewClient getWebViewClient() {
return new WebViewClient() {
            @Nullable
            @Override
            public WebResourceResponse shouldInterceptRequest(final WebView view, final String url) {}
}}

Что мне нужно, так это то, что я хочу проверить, будет ли вызываться методInInceptceptRequest илине потому, что в некоторых моих запросах это не срабатывает.Я хочу показать какое-то сообщение, если запрос не перехвачен.Можно ли заранее узнать, будет ли запущен методIninterceptRequest или нет?

1 Ответ

0 голосов
/ 27 сентября 2019

shouldInterceptRequest: этот обратный вызов вызывается для различных схем URL (например, http (s) :, data:, file: и т. Д.), А не только для тех схем, которые отправляют запросы по сети.Это не вызывается для javascript: URL-адресов, blob: URL-адресов или для ресурсов, доступ к которым осуществляется через файл: /// android_asset / или file: /// android_res / URLs.

См.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...