Как реализовать опцию загрузки файлов в android веб-просмотра - PullRequest
0 голосов
/ 20 февраля 2020

Я реализую веб-просмотр, но я застрял в поле загрузки файла, не работает.

package com.app.projectx;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private WebView webView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webView = (WebView) findViewById(R.id.webView);
        webView.setWebViewClient(new myWebClient());
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("exampel.com");

        webView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView webView, int errorCode, String description, String failingUrl) {
try {
webView.stopLoading();
} catch (Exception e) {
}
if (webView.canGoBack()) {
webView.goBack();
}
webView.loadUrl("about:blank");
AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
alertDialog.setTitle("Network Error");

alertDialog.setMessage ("inte inte rnet connection found."); alertDialog.setButton (DialogInterface.BUTTON_POSITIVE, «Попробуйте снова», новый DialogInterface.OnClickListener () {publi c void onClick (диалог DialogInterface, int which) {fini sh (); startActivity (getIntent ());}} ); alertDialog.show (); super.onReceivedError (webView, errorCode, description, failingUrl);}}); } publi c класс myWebClient расширяет WebViewClient {@Override publi c void onPageStarted (представление WebView, URL-адрес строки, значок растрового изображения) {super.onPageStarted (view, url, favicon); }

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

    view.loadUrl(url);
    return true;

}
}

    @Override
    // This method is used to detect back button
    public void onBackPressed() {
        if(webView.canGoBack()) {
            webView.goBack();
        } else {
            // Let the system handle the back button
            super.onBackPressed();
        }
    }
}
    }
    public class myWebClient extends WebViewClient
        {
@Override
        public void onPageStarted(WebView view, String url, Bitmap `favicon) {`
            super.onPageStarted(view, url, favicon);
        }



@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

    view.loadUrl(url);
    return true;

}
}

    @Override
    // This method is used to detect back button
    public void onBackPressed() {
        if(webView.canGoBack()) {
            webView.goBack();
        } else {
            // Let the system handle the back button
            super.onBackPressed();
        }
    }
}
...