studio que chrome android android-emulator webview
muestra

que - El tutorial "Hola, WebView" abre la dirección solicitada en el navegador de Android y no en mi vista web



webview android (1)

Estoy usando un emulador de Android con AVD de Android 2.1 y tengo el siguiente problema: tratar de cargar una URL en una WebView usando webView.loadUrl hace que se abra en el navegador.

Nota: Estoy hablando de la apertura inicial, no del tema en el que los enlaces de WebView se abren en un navegador, quizás, de alguna manera esté conectado.

He intentado varias cosas:

  • He eliminado <uses-permission android:name="android.permission.INTERNET" /> del manifiesto. Eso realmente lo hizo funcionar correctamente, es decir, cargar el html en la vista web. Sin embargo, como era de esperar, lo único que carga es la página de error "no se puede conectar a Internet".
  • He depurado el proyecto para asegurarme y, de hecho, en la función loadUrl , abre el navegador de Android. El CatLog en este punto es como tal:

05-23 22: 54: 06.858: INFO / ActivityManager (51): Actividad de inicio: Intención {act = android.intent.action.VIEW cat = [android.intent.category.BROWSABLE] dat = http: //m.walla .co.il / ErrorPage.aspx? ReturnUrl = / Default.aspx cmp = com.android.browser / .BrowserActivity}

  • Intenté descargar un proyecto de muestra real (archivos fuente del libro "Hello Android", proyecto - BrowserView). Sin embargo, no funcionó de la misma manera.
  • Creé un nuevo proyecto y seguí las instrucciones en el tutorial oficial de Google sobre el uso de WebView y obtuve el mismo resultado.

No he encontrado a nadie más quejándose de eso. ¿Por que sucede?

Gracias, Vitaly


La URL que está intentando visitar probablemente tenga una redirección. Los redireccionamientos se comportan como clics de enlace y se abrirán de forma predeterminada en el navegador. Asegúrese de que la URL que está visitando no redirecciona (p. Ej., La respuesta HTTP 301), ni usa WebViewClient y shouldOverrideUrlLoading() para capturarlos y redirigirlos de nuevo a WebView.