Как открыть новый браузер из WebViewClient?

Короткий вопрос, на который я не могу понять, я хотел бы запустить новый браузер из своего WebView после того, как люди нажмут на гиперссылку. Но как я могу установить эту цель этой ссылки для выхода из WebViewClient?

Вот мой код, любая помощь очень ценится:

WebView site = (WebView)findViewById(R.id.WebView); site.setWebViewClient(new WebViewClient()); site.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); site.getSettings().setJavaScriptEnabled(true); button1.setOnClickListener(button1OnClickListener); button2.setOnClickListener(button2OnClickListener); button3.setOnClickListener(button3OnClickListener); button4.setOnClickListener(button4OnClickListener); final AlertDialog alertDialog = new AlertDialog.Builder(this).create(); progressBar = ProgressDialog.show(FlitsersActivity.this, "Thingy1", "Load...", false, true); site.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i(TAG, "Loading..."); view.loadUrl(url); return true; } public void onPageFinished(WebView view, String url) { Log.i(TAG, "Done: " +url); if (progressBar.isShowing()) { progressBar.dismiss(); } } public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Log.e(TAG, "Error: " + description); Toast.makeText(MyActivity.this, "Oh no! " + description, Toast.LENGTH_SHORT).show(); alertDialog.setTitle("Error"); alertDialog.setMessage(description); alertDialog.setButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { return; } }); alertDialog.show(); } }); site.loadUrl("http://www.etcetera.com"); } 

Именно, спасибо! Я думаю, что узнал, когда вы написали второй ответ;)

Прямо сейчас я использую следующий код: он работает как шарм 🙂 Большое спасибо за отзыв!

 site.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { String myAlternativeURL = "http://newURL"; if (!url.equals(myAlternativeURL)) { { Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("http://newURL")); startActivity(i); } return true; } else { Log.i(TAG, "Loading..."); view.loadUrl(url); return true; } } 

Вы переопределяете загрузку всех URL-адресов, заставляя WebView загружать их с помощью этого кода:

  public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i(TAG, "Loading..."); view.loadUrl(url); return true; } 

Что вам нужно сделать, так это создать URL-адрес браузера с URL-адресом, если вы хотите его открыть в браузере по умолчанию вместо WebView. http://developer.android.com/guide/appendix/g-app-intents.html

Код будет примерно таким:

 Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); 

Больше информации:

 if (url.equals("http://www.etcetera.com") // load url normaly else // Load in new window via intent