如果是App内部WebView点击跳转指定Activity
第一种 在清单文件配置intent-filter
1 | <intent-filter> |
WebView设置:
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String httpurl) {
if (httpurl.startsWith("app:")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(httpurl));
startActivity(intent);
}
return false;
}
});
如果还需要传值的话, 在Activity中进行数据解析:
1 | if (intent.dataString.orEmpty().isNotEmpty()) { |
第二种 不配置intent-filter的方式
只需在WebView的shouldOverrideUrlLoading方法中进行内链解析处理即可:
1 | @Override |
如果是外部浏览器页面点击跳转指定Activity
只需在清单文件中对指定Acticity做intent-filter配置即可
1 | <intent-filter> |
本文为作者原创 转载时请注明出处 谢谢
乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站