WebView no funciona, el lanzamiento de la URL externa en el navegador. Visualización de la página web en la aplicación

Hice un hogar o una actividad principal que tiene algunos iconos y uno de ellos es facebook, y al hacer clic en él un facebook.xml se lanza a través de la intención

El código para esa página xml se establece como a continuación:

<WebView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:weightSum="10" android:id="@+id/webView" > </WebView> 

Y quiero cargar la url: " http://www.j.mp/tkf4mApp "

El archivo Java que está enlazado a este archivo xml es el siguiente:

 import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Facebook extends Activity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.facebookpage); webView=(WebView)findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("http://www.j.mp/tkf4mApp"); } } 

Pero en lugar de mostrar la página web dentro de la aplicación en facebook.xml que lanza el navegador externamente, pero quiero que se muestre dentro de la aplicación.

Según esta respuesta: Cómo cargar una página web externa dentro de WebView , necesita configurar un WebViewClient antes de llamar a loadUrl :

 webView.setWebViewClient(new WebViewClient()); 

La razón por la que se está enviando al navegador es que si no se establece WebViewClient, la acción predeterminada para las navegaciones es reenviarlas al navegador.

 package com.example.webview; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.Window; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends Activity { private WebView browser; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); browser = (WebView)findViewById(R.id.webView1); browser.setWebViewClient(new MyBrowser()); } public void open(View view){ String url = "http://www.j.mp/tkf4mApp"; browser.getSettings().setLoadsImagesAutomatically(true); browser.getSettings().setJavaScriptEnabled(true); browser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); browser.loadUrl(url); } private class MyBrowser extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 

Este enlace puede ayudarle … http://www.tutorialspoint.com/android/android_webview_layout.htm

Consulte el siguiente proyecto, éste funciona

https://code.google.com/p/html5webview/

  • Caja de múltiples movimientos de Android en xml extraíble
  • La vinculación de datos de Android pasa los argumentos al método onClick
  • Android onClick en XML vs. OnClickListener
  • Android: ¿Cómo incluir un menú xml dentro de otro menú xml?
  • Excepción de reproducción de Android Studio: "mBaselineAlignedChildIndex de LinearLayout apunta a una vista que no sabe cómo obtener su línea de base"
  • Agregar más de una cadena a un TextView
  • Uso de los colores para el nuevo tema de diseño de material en Android
  • Retrofit-2.0 - Parse respuesta que tiene json dentro de xml
  • Atributo "vacío" no funciona como se esperaba con SimpleFramework
  • ¿Buenas herramientas para desarrollar una GUI en Android?
  • Pregunta teórica: cargar el archivo XML-Layout externo en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.