WebView de Android no cargando URL
Quiero cargar la URL en WebView
He utilizado el siguiente código:
- La aplicación Phonegap no se desplaza
- Contenido de la web de android no seleccionable
- ¿Cuáles son los valores de retorno válidos para una interfaz Javascript en un WebView de Android?
- Android: al salir de un WebView, el audio sigue reproduciéndose
- Ocultar la barra de desplazamiento en WebView
webView = (WebView) findViewById(R.id.webview1); webView.setWebViewClient(new HostsWebClient()); webView.getSettings().setPluginState(PluginState.ON); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false); webView.getSettings().setPluginsEnabled(true); webView.getSettings().setSupportMultipleWindows(false); webView.getSettings().setSupportZoom(false); webView.setVerticalScrollBarEnabled(false); webView.setHorizontalScrollBarEnabled(false); webView.loadUrl(URL);
Pero cuando lo ejecuto, no puedo cargar la url. Estoy recibiendo la página web no disponible.
¿Podría alguien ayudar?
- Cómo interceptar url cargas en WebView (android)?
- Android Rhino error no puede cargar este tipo de archivo de clase
- Enviar solicitud de envío junto con HttpHeaders en Android
- CrossWalk - Aceptar encabezado de idioma
- File.list () devuelve los archivos en un orden diferente para 4.0 que 2.2
- ¿Puede alguien dar un ejemplo exacto de la implementación de webview en android
- Cómo guardar credenciales en Android / jQuery Mobile App
- ¿Qué significa "bloquear todas las solicitudes de carga de red"?
¿Has agregado el permiso de Internet en tu archivo de manifiesto? Si no agrega la línea siguiente.
<uses-permission android:name="android.permission.INTERNET"/>
Espero que esto te ayudará.
EDITAR
Utilice las líneas siguientes.
public class WebViewDemo extends Activity { private WebView webView; Activity activity ; private ProgressDialog progDailog; @SuppressLint("NewApi") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); activity = this; progDailog = ProgressDialog.show(activity, "Loading","Please wait...", true); progDailog.setCancelable(false); webView = (WebView) findViewById(R.id.webview_compontent); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setLoadWithOverviewMode(true); webView.getSettings().setUseWideViewPort(true); webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { progDailog.show(); view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, final String url) { progDailog.dismiss(); } }); webView.loadUrl("http://www.teluguoneradio.com/rssHostDescr.php?hostId=147"); }
Añadir permiso de permiso de Internet en manifiesto.
Como <uses-permission android:name="android.permission.INTERNET"/>
Este código funciona
public class WebActivity extends Activity { WebView wv; String url="http://www.teluguoneradio.com/rssHostDescr.php?hostId=147"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web); wv=(WebView)findViewById(R.id.webUrl_WEB); WebSettings webSettings = wv.getSettings(); wv.getSettings().setLoadWithOverviewMode(true); wv.getSettings().setUseWideViewPort(true); wv.getSettings().setBuiltInZoomControls(true); wv.getSettings().setPluginState(PluginState.ON); wv.setWebViewClient(new myWebClient()); wv.loadUrl(url); } public class myWebClient extends WebViewClient { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub view.loadUrl(url); return true; } }
Utiliza lo siguiente en tu webview
webview.setWebChromeClient(new WebChromeClient());
A continuación, implementar los métodos necesarios para la clase WebChromeClient.
Quizás SSL
@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { // ignore ssl error if (handler != null){ handler.proceed(); } else { super.onReceivedSslError(view, null, error); } }
En primer lugar, compruebe si tiene permiso de Internet en el archivo Manifest.
<uses-permission android:name="android.permission.INTERNET" />
A continuación, puede agregar el siguiente código en método onCreate () o initialize ()
final WebView webview = (WebView) rootView.findViewById(R.id.webview); webview.setWebViewClient(new MyWebViewClient()); webview.getSettings().setBuiltInZoomControls(false); webview.getSettings().setSupportZoom(false); webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); webview.getSettings().setAllowFileAccess(true); webview.getSettings().setDomStorageEnabled(true); webview.loadUrl(URL);
Y escribir una clase para manejar las devoluciones de llamada de webview –
public class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //your handling... return super.shouldOverrideUrlLoading(view, url); } }
En la misma clase, también puede utilizar otras devoluciones importantes como:
- onPageStarted() - onPageFinished() - onReceivedSslError()
Además, puede agregar "SwipeRefreshLayout" para activar la actualización de refresco y actualizar la vista web.
<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipeRefreshLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.SwipeRefreshLayout>
Y actualice la vista web cuando el usuario pasea la pantalla:
SwipeRefreshLayout mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout); mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { mSwipeRefreshLayout.setRefreshing(false); webview.reload(); } }, 3000); } });
Al igual que una solución alternativa:
Para mí webView.getSettings().setUserAgentString("Android WebView")
hizo el truco.
Ya había implementado el permiso de Internet y WebViewClient
, así como WebChromeClient
- Límite de mapa de bits de Android: evitando java.lang.OutOfMemory
- PhoneGap 1.4 embalaje Sencha Touch 2.X – ¿Qué pasa con el rendimiento?