Android.Webkit.WebView не загружает URL в Xamarin.Android - PullRequest
0 голосов
/ 21 октября 2019

Android.Webkit.WebView URL-адрес не загружен

I Создан метод в основном классе активности, этот метод имеет WebView, но не имеет URL-адреса загрузки

public void LaunchBrowserView(string authorizationServerUrl)
        {
            try
            {
                var web_view = new Android.Webkit.WebView(this);

                web_view.Settings.JavaScriptEnabled = true;
                web_view.Settings.DomStorageEnabled = true;
                //web_view.Settings.= true;
                //web_view.Settings.AllowContentAccess = true;
                web_view.SetWebViewClient(new MyBrowser());
                web_view.Settings.LoadsImagesAutomatically = true;
                web_view.LoadUrl(authorizationServerUrl);
            }
            catch (System.Exception ex)
            {
            }
        }
class MyBrowser : WebViewClient
    {
        override public bool ShouldOverrideUrlLoading(Android.Webkit.WebView view, string url)
        {
            view.LoadUrl(url);
            return false;
        }

        public override void OnReceivedSslError(Android.Webkit.WebView view, SslErrorHandler handler, SslError error)
        {
            base.OnReceivedSslError(view, handler, error);
        }

    }

1 Ответ

1 голос
/ 22 октября 2019

Я проверяю код, который вы предоставили, и запускаю самостоятельно, он работает хорошо.

activity_main.xml

<android.webkit.WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

MainActivity.cs

protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.activity_main);


        LaunchBrowserView("https://www.google.com");
    }

Результат: enter image description here

Я загрузил на GitHub, вы можете загрузить из папки WebView для справки. https://github.com/WendyZang/Test.git

Обновлено:

Если вы хотите сделать это без файла axml, вы можете создать макет в действии.

 protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        // Set our view from the "main" layout resource
        //SetContentView(Resource.Layout.activity_main);
        RelativeLayout layout_main = new RelativeLayout(this);
        RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MatchParent, RelativeLayout.LayoutParams.MatchParent);
        layout_main.LayoutParameters = layoutParams;

        WebView webView = new WebView(this);
        webView.LayoutParameters = layoutParams;

        layout_main.AddView(webView);
        SetContentView(layout_main);
        LaunchBrowserView("https://www.google.com", webView);
    }
    public void LaunchBrowserView(string authorizationServerUrl, WebView webView)
    {
        try
        {
            webView.Settings.JavaScriptEnabled = true;
            webView.Settings.DomStorageEnabled = true;
            //web_view.Settings.= true;
            //web_view.Settings.AllowContentAccess = true;
            webView.SetWebViewClient(new MyBrowser());
            webView.Settings.LoadsImagesAutomatically = true;
            webView.LoadUrl(authorizationServerUrl);
        }
        catch (System.Exception ex)
        {
        }

Результат:

enter image description here

У меня есть загрузка на GitHub, загрузка с WebViewDemo2 для справки. https://github.com/WendyZang/Test.git

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