Ich habe das Beispiel auf der Android-Entwickler-Website ausprobiert, um eine Webseite ohne Erfolg auf einer WebView-Komponente anzuzeigen. Der Emulator zeigt den folgenden Fehler:
Webseite nicht verfügbar Die Webseite unter http://developer.Android.com konnte nicht geladen werden, weil: net :: ERR_CHACHE_MISS
Ich konnte bis jetzt keine Lösung finden, selbst nachdem ich andere Threads im Web angeschaut hatte. Ich habe auch verschiedene Links ausprobiert .. Ich weiß nicht, ob es hilfreich sein könnte, die Ursache dieses Fehlers zu verstehen, aber der Emulator ist Nexus 4 API 21 mit Android 5.0.1. Ich verwende Android Studio 1.0.
Der Code entspricht dem Beispiel:
In MainActivity.Java:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://developer.Android.com/");
}
In AndroidManifest:
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme" >
<uses-permission Android:name="Android.permission.INTERNET" />
.....
Und in der Ansicht habe ich den gleichen Code des Beispiels hinzugefügt
Beispiel ist: http://developer.Android.com/guide/webapps/webview.html
Genau, es ist mir einmal vorgekommen und die Lösung bestand darin, die folgende Zeile zu setzen: <uses-permission Android:name="Android.permission.INTERNET"/>
vor dem <application
-Tag in der Datei manifest.xml.
Entweder fehlt diese Zeile oder sie ist falsch platziert (z. B. am Ende des </manifest>
-Tags).
Für den Fall, dass jemand anderes auf dieses Problem stößt, und da es hier keine Antwort gibt, dachte ich, ich würde eine zur Verfügung stellen.
Für mich stellte sich heraus, dass es sich einfach um die Reihenfolge der Tags in der Manifestdatei handelte. Das Benutzerberechtigungselement muss vor dem Anwendungselement angezeigt werden. Ich habe es einfach direkt unter das Manifest gelegt und das schien mir den Trick zu bringen.
Eigentlich ist der Ort des Tags hier wichtig ..__ Das funktioniert zum Beispiel nicht:
<activity Android:name=".MainActivity"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
<uses-permission Android:name="Android.permission.INTERNET" />
</activity>
Der folgende Code funktioniert jedoch einwandfrei.
<activity Android:name=".MainActivity"
Android:label="@string/app_name" >
<uses-permission Android:name="Android.permission.INTERNET" />
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Ich hatte den gleichen Fehler und habe das Problem behoben
innerhalb der Aktivität wie folgt:
<activity
Android:name=".MainActivity"
Android:label="@string/app_name" >
<uses-permission Android:name="Android.permission.INTERNET" />
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
Da ich in der Haupttätigkeit das WebView ... baue, hoffe ich, dass dies jemand anderem helfen wird.
Fügen Sie diese Berechtigungen einfach in Ihre AndroidManifest.xml ein.
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
Bitte fügen Sie das Folgende außerhalb des Anwendungstags in die AndroidManifest.xml ein
<uses-permission Android:name="Android.permission.INTERNET"/>
<uses-permission Android:name="Android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission Android:name="Android.permission.Android.permission.ACCESS_NETWORK_STATE"/>