2012-09-11 4 views
6

Meine WebView zeigt einige URLs nicht, besonders wenn es den führenden www. Teil fehlt. http://google.com lädt nicht, aber http://www.google.com lädt einfach gut. Ich erhalte keine Ausnahmen oder Meldungen im Logcat, so dass es ziemlich schwierig ist herauszufinden, was hinter den Kulissen vor sich geht. Hier ist das Snippet, das tatsächlich meine WebView anzeigt.Warum lädt das WebView von Android nicht einige URLs?

WebView wbvBrowser = new WebView(this.objContext); 
wbvBrowser.getSettings().setBuiltInZoomControls(true); 
wbvBrowser.getSettings().setJavaScriptEnabled(true); 
wbvBrowser.loadUrl("http://google.com"); 

Würde jemand von Ihnen wissen, was dieses Problem verursacht? Ich bin verwirrt.

Danke.

Antwort

0

try this ...

wbvBrowser.setWebViewClient(new Callback()); 
private class Callback extends WebViewClient{ //HERE IS THE MAIN CHANGE. 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     return (false); 
    } 

} 
+0

Hey Aditya, wäre in der Lage zu erklären, was dies tut und wie es mein Problem löst? Ich werde es trotzdem versuchen. –

+0

Hat nicht geholfen. ..aber ich habe zwei Nachrichten im Logcat gesehen. 'I/SQLiteDatabaseCpp: sqlite zurückgegeben: Fehlercode = 14, msg = Datei kann nicht in Zeile 27699 von [8609a15dfa], db =/data/data/com.example.testapp/databases/webview.db' geöffnet werden. Ich kann nicht verstehen, was es zu öffnen versucht. –

+0

Ihre Webview-Datenbankdateien sind beschädigt ... löschen Sie diese Dateien und fügen Sie den Code hinzu, den ich unten einfügen werde ... –

2

Sicherstellen, dass die App die Erlaubnis, das Internet zuzugreifen. Fügen Sie die folgenden AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" /> 
+0

Das OP hat klar gesagt, dass http://www.google.com gut lädt, was bedeutet, dass die App Internet-Berechtigungen hat. – ozmank

+3

@osmank, denke ich habe das vermisst, aber es ist ein häufiges Problem zu begegnen und es scheint, ein paar Leute haben meine Antwort hilfreich gefunden. – Mark

3

aktivieren DOM Speicher-APIs

wbvBrowser.setDomStorageEnabled(true); 
0

Das ist für mich gearbeitet: Fügen Sie ein 's' auf die http. Machen Sie es https

wbvBrowser.loadUrl("https://google.com"); 
Verwandte Themen