如何在应用程序中打开浏览器中与webview url无关的链接

我怎么能打开外部链接不相关的web浏览器中的url,我正在使用kotlin lang在webview中创建android应用程序。 例如。 mydomain.com/链接应在webview -notmydomain.com/中打开,应在浏览器中打开

尝试这个 :-

在下面的代码中,我们只加载匹配特定域的那些url,其余的被导航到浏览器。 您可以根据您的需要自定义正则expression式。 在这里,我重写了两个方法,因为在API级别21中的shouldOverrideUrlLoading弃用。

val webview = findViewById(R.id.webview) webview.webViewClient = object : WebViewClient() { override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean { val url: String = request?.url.toString() if (match(url,"(http|https)://(.*).kotlinlang.org/")) { webview?.loadUrl(url) } else { val i = Intent(Intent.ACTION_VIEW) i.data = Uri.parse(url) startActivity(i) } return true } override fun shouldOverrideUrlLoading(view: WebView?, url: String): Boolean { if (match(url,"(http|https)://(.*).kotlinlang.org/")) { webview?.loadUrl(url) } else { val i = Intent(Intent.ACTION_VIEW) i.data = Uri.parse(url) startActivity(i) } return true } } webview.loadUrl("https://kotlinlang.org/") 
 Intent browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.google.com")); startActivity(browserIntent); 

它适用于我,使用这个。

 String url = "http://www.example.com"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); 

顺便说一句,有时候它可能也是很好的检查,如果url实际上是网络URL例如,你想玩游戏应用程序打开商店URL,而不是Webview加载播放商店页面

 URLUtil.isNetworkUrl(url) 
 val url = "http://www.example.com" val i = Intent(Intent.ACTION_VIEW) i.data = Uri.parse(url) startActivity(i) 

它适用于我,在kotlin中使用。