2012-09-11 10 views
6

Mój WebView nie wyświetla niektórych adresów URL, szczególnie jeśli brakuje wiodącej części www.. http://google.com nie ładuje się, ale ładuje się tylko http://www.google.com. Nie dostaję żadnych wyjątków ani wiadomości w logcat, więc trudno jest dowiedzieć się, co dzieje się za kulisami. Oto fragment, który faktycznie wyświetla moją WebView.Dlaczego webView systemu Android nie ładuje niektórych adresów URL?

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

Ktoś z was wie, co jest przyczyną tego problemu? Jestem zdziwiony.

Dzięki.

Odpowiedz

0

spróbować ...

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

Hej Aditya, byłby w stanie wyjaśnić, co to robi i jak rozwiązuje mój problem? Dam ci szansę. –

+0

Nie pomogło. ... ale widziałem dwie wiadomości w Logcat. 'I/SqliteDatabaseCpp: Zwrócono sqlite: kod błędu = 14, msg = nie można otworzyć pliku w linii 27699 [8609a15dfa], db =/data/data/com.example.testapp/databases/webview.db'. Nie mogę zrozumieć, co to jest, że próbuje otworzyć. –

+0

Twoje pliki bazy danych przeglądarki internetowej są uszkodzone ... usuń te pliki, a także dodaj kod wklejając poniżej ... –

2

Upewnij się, że aplikacja ma uprawnienia dostępu do Internetu. Dodać następujące AndroidManifest.xml:

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

PO wyraźnie stwierdził, że http://www.google.com ładuje się poprawnie, co oznacza, że ​​aplikacja ma uprawnienia internetowe. – ozmank

+3

@osmank, Chyba Tęskniłem za tym, ale często napotykam problem i wygląda na to, że kilka osób uznało moją odpowiedź za pomocną. – Mark

3

Włącz DOM Storage API

wbvBrowser.setDomStorageEnabled(true); 
0

Ten pracował dla mnie: dodać 's' do http. Zrób to https

wbvBrowser.loadUrl("https://google.com"); 
Powiązane problemy