我在尝试覆盖时遇到问题 我在webviewclient中使用了这段代码
mywebview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().contains("google") || Uri.parse(url).getHost().contains("goo.gl") ) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
startActivity(intent);
finish();
return true ;
}
});
然后在webview本身打开包含上述字符串的链接,但其他链接如facebook和所有链接都无法在外部浏览器中打开,而Youtube链接在Youtube应用程序中打开。 以及如何在Facebook应用程序或原生应用程序中的市场链接中打开Facebook链接。
答案 0 :(得分:0)
我认为您需要的是 Chrome自定义标签。
以下是创建的提示。
1.add 依赖
dependencies {
...
compile 'com.android.support:customtabs:23.4.0'
}
Uri uri = Uri.parse("https://example.com");
CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder();
// Begin customizing
// set toolbar colors
intentBuilder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary));
intentBuilder.setSecondaryToolbarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark));
// set start and exit animations
intentBuilder.setStartAnimations(this, R.anim.slide_in_right, R.anim.slide_out_left);
intentBuilder.setExitAnimations(this, android.R.anim.slide_in_left,
android.R.anim.slide_out_right);
// build custom tabs intent
CustomTabsIntent customTabsIntent = intentBuilder.build();
// launch the url
customTabsIntent.launchUrl(activity, uri);
有关详细信息,请参阅Here。