Estaba revisando los tutoriales de Android y probé el ejemplo WebView
. Esto es lo que terminó con:¿WebView necesita un WebViewClient para funcionar?
WebAppActivity
public class WebAppActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wv = (WebView) findViewById(R.id.webView1);
wv.loadUrl("http://www.google.com");
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</WebView>
</LinearLayout>
Pero en lugar de cargar la página de la aplicación en sí, tan pronto como la aplicación inicia el navegador predeterminado de Android se abre y la página se carga en el navegador en lugar de la aplicación. Cuando presiono hacia atrás, vuelvo a la actividad de la aplicación que muestra una pantalla en blanco.
¿Alguien sabe por qué sucede esto?
Editar:
manifiesta
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".WebAppActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Ésta era sólo para mostrar que he añadido el permiso INTERNET
Editar:
Tan pronto como añado WebViewClient
,
wv.setWebViewClient(new WebViewClient() {});
se carga la página en la aplicación. ¿Es este comportamiento esperado? ¿Requiere Android WebView un WebViewClient? (no pudieron encontrar ninguna documentación sobre el mismo)
Editar:
me di cuenta de que este problema se produce cuando se instala el APK en un emulador que tiene las API de Google. En un emulador normal (sin las API de Google) se comporta como se esperaba.
su pregunta ya está respondida en: http://stackoverflow.com/questions/2378800/android-webview-click-opens-default-browser – ariefbayu
@silent Por favor, lea cuidadosamente. Esa no es mi pregunta. Tengo problemas para cargar la primera página, que se carga en el navegador en lugar de en la aplicación. Ver el comentario de Flo –
No, no creo que esté hablando de enlaces en la página web en sí que se hizo clic. Esto parece que la página web nunca se carga en WebView. – Flo