Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


WebView de Android no cargando URL

Quiero cargar la URL en WebView

He utilizado el siguiente código:

  • Android: una vs muchas instancias de HttpClient por aplicación
  • Opciones de botón de acción flotante de Android
  • CertPathValidatorException: Ancla de confianza para ruta de certificación no encontrada
  • Buena manera de almacenar datos en caché durante el ciclo de vida de las aplicaciones de Android?
  • Desplazar una Galería activa el estado presionado y elimina el escucha de clics de los sub-elementos
  • Cómo detectar cuando el dispositivo está orientado al revés en libGDX
  •  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?

  • Android Zoomable / desplazable ImageView con superposiciones
  • Requiere el proyecto Gradle desde otro directorio
  • Sl4a python notificar pregunta
  • ¿Cuál es la diferencia entre dos opciones de uso de credenciales "VPN y aplicaciones" vs "Wifi" al instalar un certificado personalizado en un emulador de Android?
  • Ayuda de Android: ¿Cómo abrir una URL de archivo de vídeo remota para reproducir en MediaPlayer sin tener que abrir una ventana del navegador?
  • Cómo dibujar un círculo transparente?
  • 6 Solutions collect form web for “WebView de Android no cargando URL”

    ¿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

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.