热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

AndroidWebView或手机浏览器打开连接问题解决办法总结

这篇文章主要介绍了AndroidWebView或手机浏览器打开连接问题解决办法总结的相关资料,需要的朋友可以参考下

Android WebView或手机浏览器打开连接问题解决办法总结

1.通常情况下 大家可能都想使用WebView打开网页内部链接而不想再调用手机浏览器,

我们可以通过以下两种方法实现:

(1)为WebView设置一个WebViewClient,并重写shouldOverrideUrlLoading(WebView view, String url)方法。

class MyWebViewClient extends WebViewClient { 
 
  @Override 
 
  public boolean shouldOverrideUrlLoading(WebView view, String url){ 
 
  // 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边 
 
    view.loadUrl(url); 
 
    return true; 
 
    } 
 
} 

(2)为WebView设置一个WebViewClient,并重写onPageStarted(WebView view, String url, Bitmap favicon)方法。

class MyWebViewClient extends WebViewClient { 
 
  @Override 
 
public void onPageStarted(WebView view, String url, Bitmap favicon) { 
 
  // TODO Auto-generated method stub 
 
  super.onPageStarted(view, url, favicon); 
 
} 
 
} 

这两种方法其实都是让参数view(WebView)加载参数url从而避免手机浏览器加载url,第一种方式更常用一些。

2.但有些情况下  我们可能想用WebView打开大部分链接,而有些链接我们希望调用手机浏览器来打开,我最近的一个项目中就有这样的需求。这样其实也很简单,我们只需要对上面第一种方法加以修改即可。

class MyWebViewClient extends WebViewClient { 
 
  @Override 
 
  public boolean shouldOverrideUrlLoading(WebView view, String url) { 
 
  // 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边 
 
      if (openWithWevView(url)) { 
 
       view.loadUrl(url); 
 
      }else{ 
 
       Uri uri = Uri.parse(url); //url为你要链接的地址 
 
       Intent intent =new Intent(Intent.ACTION_VIEW, uri); 
 
       startActivity(intent); 
 
      } 
 
      return true; 
 
} 

其中openWithWevView(url)是自己写的一个方法,用来判断是否用WevView打开该链接。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


推荐阅读
  • Web App vs Native App:未来的移动应用趋势
    随着移动互联网的发展,Web App和Native App之间的竞争日益激烈。对于开发者而言,选择哪一种技术路径更为明智?本文将深入探讨两种应用模式的特点及未来趋势。 ... [详细]
  • 作为一名在大型手机游戏公司工作的程序员,尽管主要负责游戏逻辑和内容的开发,但对iOS底层开发接触较少。现在有了iPhone和可以虚拟MAC环境的电脑,希望能找到有效的iOS开发学习路径。 ... [详细]
  • 本文详细介绍了如何在Android应用中处理和使用Cookie,包括登录时获取Cookie并将其存储,以及在WebView中同步这些Cookie以保持用户会话。 ... [详细]
  • 本文探讨了在安卓设备上的微信H5环境中,如何解决长按图片时无法保存或分享Base64编码图片及Blob形式图片的问题,并提供了有效的解决方案。 ... [详细]
  • 在开发一款应用程序时,我需要向用户提供一系列URL列表。为了提高用户体验,计划根据Wi-Fi状态预先加载这些URL,以便用户在点击时能够迅速访问内容,特别是在连接到Wi-Fi的情况下。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
  • 本文详细介绍了 Android WebView 中 setInitialScale 方法的使用及其重要性。通过设置不同的缩放比例,可以确保网页在不同分辨率的设备上显示最佳效果。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 本文详细介绍了在CentOS 7上构建DNS解析服务器的步骤与配置方法。DNS系统不仅负责将主机名(域名)转换为相应的IP地址(正向解析),还能够根据IP地址反查主机名(反向解析)。此外,文章还探讨了不同类型的DNS服务器,如缓存域名服务器的作用和配置要点。通过本指南,读者可以全面了解并成功搭建一个高效稳定的DNS解析环境。 ... [详细]
  • 本文出处:炎之铠csdn博客:http:blog.csdn.nettotond炎之铠邮箱:yanzhikai_yjk@qq.com本文原创,转载请注明本出处!前言 ... [详细]
  • 探讨了在使用 iOS WebView 加载包含无限滚动功能的列表时,快速滑动导致应用冻结的原因及解决方法。 ... [详细]
  • 如何在UIWebView中加载本地图片
    本文详细介绍了如何在UIWebView中加载本地图片的方法,这对于需要在应用内展示静态页面和富文本内容的场景非常有用。 ... [详细]
  • 本文探讨了在iOS开发中如何利用WKWebView实现H5页面与原生应用的高效融合。通过具体案例分析,展示了一种新颖的方法来解决H5页面内容高度的动态获取问题,旨在为开发者提供实用的技术参考。 ... [详细]
  • vue单页应用前进刷新后退不刷新方案探讨
    引言前端webapp应用为了追求类似于native模式的细致体验,总是在不断的在向native的体验靠拢;比如本文即将要说到的功能,native由于是多页应用,新页面可以启用一个的 ... [详细]
author-avatar
华华eva3
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有