'Webseite nicht verfügbar' mit WebView.loadData () NUR im Emulator

Ich rufe loadData auf meinem WebView und WebView es ein paar HTML in Form einer String wie WebView :

 webView.loadData( htmlString, "text/html", "utf-8" ); 

Es funktioniert gut auf meinem Galaxy Tab 10.1, aber die WebView zeigt:

  • RecyclerAnzeige mit benutzerdefinierten Artikeln
  • MediaStore.Images.Media.getBitmap und kein Speicherfehler
  • Android glatte Spielschleife
  • Google Play Beta-Tests ohne veröffentlichte App?
  • Android BroadcastReceiver ohne Absichtsfilter
  • MediaRecorder.stop () stop fehlgeschlagen: -1007
  • Webpage not available

    Beim Laufen auf dem Emulator mit alles, was auf meine Galaxy Tab passen. Die Einstellung android.permission.INTERNET in der Manifest hat keine Wirkung, obwohl ich diese Genehmigung nicht brauchen sollte, da ich im Speicher HTML- android.permission.INTERNET und nicht auf etwas über die Datenverbindung zugreifen.

    Was ist los?

  • Fehler: In <declare-styleable> SherlockSpinner kann das Attribut android nicht gefunden werden: popupPromptView
  • Android AutocompleteTextView mit ArrayAdapter und Filter
  • Android Studio läuft App auf Samsung Galaxy S3 hängt beim Hochladen von Datei
  • Ausblenden der Android-Tastatur für EditText
  • Media Control auf Lock Screen wie Google Play Music in Android?
  • Wiederholen Sie Alarme an jedem Montag in Android usig AlarmManager / BroadcastReceiver
  • 3 Solutions collect form web for “'Webseite nicht verfügbar' mit WebView.loadData () NUR im Emulator”

    Versuche es mit diesem Code

     webView.loadData( URLEncoder.encode(htmlString).replaceAll("\\+"," "), "text/html", "utf-8" ); 

    anstelle von

     webView.loadData( htmlString, "text/html", "utf-8" ); 

    Es sollte funktionieren, denn manchmal Charakter wie '%', '\', '#' schafft Problem, wenn es nicht richtig codiert

    In 2.x Plattformen ist loadData() in manchen Fällen loadData() es muss der HTML- loadDataWithBaseURL() entkommen), verwenden Sie loadDataWithBaseURL() und übergeben Sie null für baseUrl und historyUrl :

     webView.loadDataWithBaseURL(null, htmlString, "text/html", "utf-8", null); 

    Eigentlich danke für @Viraj für die Antwort.

    Google hat das oben verworfen und Sie sollten das stattdessen verwenden:

     webView.loadData(URLEncoder.encode(mAdvertisement.getContent(), "UTF-8").replaceAll("\\+", " "), "text/html", "UTF-8"); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.