La vista web de Android inicia el navegador al llamar a loadurl

LinearLayout una Activity que tiene un título y una vista web en LinearLayout . En el método onResume() llama a webView.loadUrl(url) . El problema es que la actividad primero muestra el título con el rest de la pantalla en blanco, luego se inicia el navegador del dispositivo con la página de la URL. Lo que quiero ver es que la página se muestre en WebView debajo del título. ¿Cual podría ser el problema?

Editar : Ok, busqué más y encontré este:

Hacer clic en las URL abre el navegador predeterminado

Apunta al tutorial de WebView aquí .

Simplemente implemente el cliente web y configúrelo.

Respondiendo mi pregunta en base a las sugerencias de Maudicus y Hit.

Consulte el tutorial de WebView aquí . Simplemente implemente el cliente web y configúrelo antes de loadUrl . La forma más simple es:

 myWebView.setWebViewClient(new WebViewClient()); 

Para un procesamiento más avanzado del contenido web, considere ChromeClient.

Utilizar esta:

 lWebView.setWebViewClient(new WebViewClient()); 

usar de esta manera:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dedline); WebView myWebView = (WebView) findViewById(R.id.webView1); myWebView.setWebViewClient(new WebViewClient()); myWebView.loadUrl("https://google.com"); } 

Haz tu actividad así.

 public class MainActivity extends Activity { WebView browser; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // find the WebView by name in the main.xml of step 2 browser=(WebView)findViewById(R.id.wvwMain); // Enable javascript browser.getSettings().setJavaScriptEnabled(true); // Set WebView client browser.setWebChromeClient(new WebChromeClient()); browser.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); // Load the webpage browser.loadUrl("http://google.com/"); } } 

Estaba enfrentando el mismo problema y encontré la solución Documentación oficial de Android sobre WebView

Aquí está mi método onCreateView() y aquí usé dos métodos para abrir las URL

El Método 1 es abrir URL en el navegador y

El Método 2 es abrir url en su WebView deseado.
Y estoy usando el Método 2 para mi Aplicación y este es mi código:

 public class MainActivity extends Activity { private WebView myWebView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_webpage_detail, container, false); // Show the dummy content as text in a TextView. if (mItem != null) { /* Method : 1 This following line is working fine BUT when we click the menu item then it opens the URL in BROWSER not in WebView */ //((WebView) rootView.findViewById(R.id.detail_area)).loadUrl(mItem.url); // Method : 2 myWebView = (WebView) rootView.findViewById(R.id.detail_area); // get your WebView form your xml file myWebView.setWebViewClient(new WebViewClient()); // set the WebViewClient myWebView.loadUrl(mItem.url); // Load your desired url } return rootView; } } 

Simplemente responde que puedes usar así

 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webView = new WebView(this); setContentView(webView); webView.setWebViewClient(new WebViewClient()); webView.loadUrl("http://www.google.com"); } } 

Prueba este código …

 private void startWebView(String url) { //Create new webview Client to show progress dialog //When opening a url or click on link webView.setWebViewClient(new WebViewClient() { ProgressDialog progressDialog; //If you will not use this method url links are opeen in new brower not in webview public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } //Show loader on url load public void onLoadResource (final WebView view, String url) { if (progressDialog == null) { // in standard case YourActivity.this progressDialog = new ProgressDialog(view.getContext()); progressDialog.setMessage("Loading..."); progressDialog.show(); } } public void onPageFinished(WebView view, String url) { try{ if (progressDialog.isShowing()) { progressDialog.dismiss(); progressDialog = null; } }catch(Exception exception){ exception.printStackTrace(); } } }); // Javascript inabled on webview webView.getSettings().setJavaScriptEnabled(true); // Other webview options /* webView.getSettings().setLoadWithOverviewMode(true); webView.getSettings().setUseWideViewPort(true); webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); webView.setScrollbarFadingEnabled(false); webView.getSettings().setBuiltInZoomControls(true); */ /* String summary = "You scored 192 points."; webview.loadData(summary, "text/html", null); */ //Load url in webview webView.loadUrl(url); } 

Este trabajo Perfecto en un Samsung 7 Gracias a Abdukhafiz por publicar aquí

 public class MainActivity extends Activity { WebView browser; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // find the WebView by name in the main.xml of step 2 browser=(WebView)findViewById(R.id.WebView); // Enable javascript browser.getSettings().setJavaScriptEnabled(true); // Set WebView client browser.setWebChromeClient(new WebChromeClient()); browser.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); // Load the webpage browser.loadUrl("http://www.google.com"); } }