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:
- Android - FragmentTabHost Error "Ninguna pestaña conocida para la etiqueta null"
- No se muestra ninguna imagen de fondo en Galaxy Nexus (SOLO)?
- Leer archivo xml de la carpeta de activos de Android
- ActionLayout para los elementos de la vista de navegación se muestra en el lado derecho
- Dibuja un círculo en una vista (android)
<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.
- Escapar comillas simples en el recurso xml para Android
- Cómo hacer una pantalla completa DrawerLayout en Android?
- Cómo configurar el menú en la barra de herramientas en Android
- Combinando wrap_content en el padre y fill_parent en el niño
- Cómo utilizar recursos enteros dentro de recursos de cadena en android
- Cómo configurar la transparencia de una imagen de fondo Android xml file
- Android: DOM vs SAX vs análisis XMLPullParser?
- Android StackScrollLayout
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