I (come molti altri) ha seguito il tutorial Webview, ma non riesco a caricare le pagine. Tutto appare come "Pagina Web non disponibile"WebView - WebPage non disponibile
Mi sono assicurato che l'emulatore abbia accesso a Internet, e solo per escludere un problema con l'emulatore ho provato a installarlo sul mio telefono, il che ha comportato lo stesso comportamento.
Ho letto che il problema più grande è che le persone non mettono l'autorizzazione INTERNET
nel mio file manifest, che ho provato a mettere come figlio di diversi elementi nel manifest senza successo. Qualcuno sa perché non riesco a farlo caricare?
Ecco il mio codice:
Manifest:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".AndroidTestActivity"
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>
</application>
</manifest>
AndroidTestActivity
public class AndroidTestActivity extends Activity {
WebView webview;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.google.com/m");
Intent intent = getIntent();
// To get the action of the intent use
System.out.println(intent.getAction());
// We current open a hard-coded URL
try {
webview.setWebViewClient(new AndroidTestClient());
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class AndroidTestClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
Grazie!
Yep, che è stato. Sono quasi sicuro di aver provato a metterlo ovunque MA lì: p Grazie! – Saggio
Per gli altri che potrebbero inciampare su questo: ho avuto lo stesso problema ma era su un progetto che avevo costruito su una macchina e trasferito su un'altra. Per qualche motivo, anche se ho copiato AndroidManifest.xml e l'intero progetto è andato bene, ma non avrebbe mai caricato il contenuto web nella webview. Ho ricevuto lo stesso errore menzionato nella domanda, anche se il mio permesso di utilizzo era nel posto giusto e anche se ho ricostruito e reinstallato l'app numerose volte. Finalmente ho apportato una modifica all'XML solo per poter ri-salvare il file e ricostruirlo. Quindi ha funzionato. Abbastanza fastidioso. – raddevus