Метод shouldInterceptRequest () вызывается не для всех ресурсов - PullRequest
0 голосов
/ 29 марта 2019

Я реализовал webviewclient в своем коде для доступа к некоторому HTML-контенту в моем коде Android.Я дал условие в методеInInIncept, чтобы получить вызов файла mp3, чтобы я мог изменить его во время выполнения.в первый день это было успешно реализовано, но теперь метод никогда не вызывает те mp3-файлы, я еще не изменил код, но все же я не понимаю, где я делаю неправильно

Мой HTML-файл хранится в локальномсейчас я сохранил его вручную, но он будет загружен с php-сервера.Мой Реализованный Клиент WebView ниже

    myWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            MSLogger.msLogD("initSleave", "WebViewClient: " + url + "\nview: " + view);
            view.loadUrl(url);
            return true;
        }

        @Nullable
        @Override
        public WebResourceResponse shouldInterceptRequest(WebView view, String request) {
            if (request.contains(".mp3")) {
                if (prefs.getLanguage().equalsIgnoreCase("Hi")) {
                    try {
                   request= request.replace(".mp3", "_hindi.mp3");
                    request=request.replace("file://","");
                        return new WebResourceResponse("audio/mp3", "UTF-8", new FileInputStream(request));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            return super.shouldInterceptRequest(view, request);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            Log.d("RequestView", "----->" + request);
            return super.shouldOverrideUrlLoading(view, request);
        }

        @Nullable
        @Override
        public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
            Log.d("RequestView", "----->" + request);
            return super.shouldInterceptRequest(view, request);
        }
    });

Я хочу, чтобы веб-клиент вызывал файл ресурсов mp3, упомянутый в моем содержании Sleave (Html).Но теперь он вызывает только png, ttf, css и xmls

...