Xamarin Forms webview nicht die Anzeige auf dem Gerät

Ive die Entwicklung einer webview-app in Xamarin.Formen im Laufe der letzten paar Tage und ich habe es getestet auf einem android-und iOS-emulator und es scheint zu funktionieren nur fine in den Emulatoren, aber wenn ich ging und versuchte es zu testen, auf meinem eigenen Android-Gerät, es zeigte einfach die xamarin-splashscreen(im mit der trial-version im moment) und dann einfach umgestellt auf eine leere weiße Bildschirm statt der webview.

Hat jemand irgendwelche Ideen, warum es ist, dies zu tun?

Werde ich Anhängen meinen code unten:
App.cs

using Xamarin.Forms;

namespace WebViewApp
{
    public class App() : Application
    {
        public App()
        {
            //The root page of your application
            MainPage = new WebPage();
        }

        protected override void OnStart()
        {
            //Handle when your app starts
        }

        protected override void OnSleep()
        {
            //Handle when your app sleeps
        }

        protected override void OnResume()
        {
            //Handle when your app resumes
        }
    }
}

Webseite.cs

using Xamarin.Forms;

namespace WebViewApp
{
    public class WebPage : ContentPage
    {
        private const string URL = "https://www.google.com";
        private const int PADDING_WIDTH = 0;

        private int paddingHeight;

        private WebView webView;

        public WebPage()
        {
            webView = new WebView
            {
                Source = URL,
                VerticalOptions = LayoutOptions.FillAndExpand,
                HorizontalOptions = LayoutOptions.FillAndExpand
            };

            CheckDevice();

            Content = new StackLayout
            {
                Padding = new Thickness(PADDING_WIDTH, GetPaddingHeight()),
                Chrildren = { webView }
            };
        }

        public int GetPaddingHeight()
        {
            return paddingHeight;
        }

        ///<summary>
        ///This will set the padding height for the webview when displayed
        ///<summary>
        ///<param name="pHeight">Set integer value for the padding height.</param>
        public void SetPaddingHeight(int pHeight)
        {
            paddingHeight = pHeight;
        }

        private void CheckDevice()
        {
            if(Device.OS == TargetPlatform.Android)
            {
                SetPaddingHeight(0);
            }
            else if(Device.OS == TargetPlatform.iOS)
            {
                SetPaddingHeight(20);
            }
        }
    }
}

** UPDATE **
Ich bin mit einer Unternehmens-website, aber ich habe getestet, diese app mit einer Reihe von verschiedenen Websites wie google, youtube und amazon. Es scheint, dass die einzige Website, die nicht angezeigt auf meinem Gerät ist meine Firmen-website(eine responsive website), aber alle anderen tun.

  • Da ist es nur Ihre Unternehmens-website, die nicht geladen werden, haben Sie sah durch das Fenster Ausgabe, vor allem auf Android, für die Zeilen, die beginnen mit Web Console zu sehen, ob es irgendwelche JavaScript-Fehler-Konsole ausgegeben wird?
  • Ich sehe nicht alle, die sagen, dass Web-Konsole, aber ich erhalte eine Menge von Chrom(1762):[INFO:KONSOLE(0)] "..." kommen in der Ausgabe-Fenster.
  • Ich würde versuchen, was dem WebView eine bestimmte HeightRequest und WidthRequest nur zu testen, und stellen Sie sicher, dass ist nicht das Problem, ab Wann eine WebView ist in bestimmten layouts, die es braucht, um Fragen Sie Ihren container welche Größe es sein sollte, während StackLayout immer fragt seine Kinder, um herauszufinden, welche Größe es sein sollte. Ich weiß nicht, warum dies wäre der Unterschied zwischen einem emulator und einem realen Gerät, aber...
  • So habe ich Hinzugefügt, HeightRequest und ein WidthRequest und es immer noch nicht funktioniert. Ich verstehe nicht, warum es angezeigt, alle anderen websites, außer meine eigenen. Ich habe ein standalone-Android-webview-Projekt, nur um zu sehen, ob es funktioniert und das tut es.
  • Ist Ihre eigene Website um eine interne oder externe Website? Auch Sie rufen die Website über https? Wenn ja, ist die Seite, die uns ein selbst signiertes Zertifikat? Wenn nicht, zumindest für iOS, müssen Sie ATS Ausnahmen.
  • So, jedes mal wenn ich das Programm im bekommen diese in der Ausgabe-Fenster "[INFO:KONSOLE(0)] " - Viewport-argument value "1.0," zum Schlüssel "initial-scale" wurde gekürzt, um den numerischen Präfix an. Beachten Sie, dass ';' ist nicht ein separator in der viewport-Werte. Die Liste sollte durch Kommas getrennt."" Einen Grund, warum dies würde kommen?
  • Klingt, als hätten Sie so etwas wie <meta name="viewport" content="initial-scale=1.0; maximum-scale=1.0"> wo wie es sein sollte <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0"> (beachten Sie das Komma nach initial-scale=1.0 statt dem semi-colon). Aber ich glaube nicht, das würde mess up die gesamte Seite. Normalerweise würde es einfach überspringen. Was API-Ebene sind Sie in?
  • Sorry für die verspätete Antwort. Ich glaube, es könnte sein, dass aswell. Ich kenne im wahrscheinlich Fragen, eine Menge von dem, was wäre die beste Art der Befestigung so eine Sache?
  • Im bekommen diese in der Ausgabe-Fenster. Ich denke, das ist die gleiche Sache, die Sie gesprochen haben. 1. [INFO:KONSOLE(0)] " - Viewport-argument den Wert "320px;" für den Schlüssel "width" abgeschnitten wurde, zu seinem numerischen Präfix an. Beachten Sie, dass ';' ist nicht ein separator in der viewport-Werte. Die Liste sollte durch Kommas getrennt." 2. [INFO:KONSOLE(0)] " - Viewport-argument value "1.0," zum Schlüssel "initial-scale" wurde gekürzt, um den numerischen Präfix an. Beachten Sie, dass ';' ist nicht ein separator in der viewport-Werte. Die Liste sollte durch Kommas getrennt." Irgendwelche Ideen?
  • Keine große Sache. Klingt wie Sie brauchen, um es zu ändern: <meta name="viewport" content="width=320, initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0">. Beachten Sie, dass ich bin nicht mit einem Semikolon zu trennen, etwas, und dass der Wert der Breite nicht px in es. Check this out für mehr meta-tag-info

InformationsquelleAutor Duggan | 2015-12-22
Schreibe einen Kommentar