在WebView中点击链接使用自身打开
最近写一个应用时,用到了WebView,可是却突然遇到问题了,首次加载的网页在自定义的webView中显示,可是当点击网页中的链接,却提示使用系统中别的浏览器打开。这样可不好,
如何将点击链接后的网页也显示呢,于是边Google边查看Android文档,找到找到了一个方法,以下使用源码解释。
package demo.androidyue.webview;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebViewDemoActivity extends Activity {
private WebView webView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//初始化WebView
this.initWebView();
}
/*
* 初始化WebView
*/
private void initWebView(){
//从布局文件中扩展webView
this.webView=(WebView)this.findViewById(R.id.webview);
//为WebView设置WebViewClient处理某些操作
this.webView.setWebViewClient(new webViewClient());
//加载地址
this.webView.loadUrl("http://10.0.2.2");
}
class webViewClient extends WebViewClient{
//重写shouldOverrideUrlLoading方法,使点击链接后不使用其他的浏览器打开。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
//如果不需要其他对点击链接事件的处理返回true,否则返回false
return true;
}
}
}
关键就是为WebView设置WebViewClient,然后重写shouldOverrideUrlLoading方法即可。其中WebViewClient为WebView的一个辅助类,主要处理各种通知、请求事件。
分享到:
相关推荐
网页链接在电脑的Chrome浏览器中打开正常 网页链接在手机的Chrome浏览器中打开正常 网页链接在IOS的App上打开正常 网页链接在Android App中打开一片空白,没有任何提示 问题原因 试了很多方法,最后发现是...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。本文将深入探讨WebView的重载使用及自定义网址处理的实践方法。 首先,WebView的基本使用包括初始化、加载...
在Android开发中,WebView是一个非常重要的组件,它允许开发者在应用程序中嵌入一个网页浏览器,使得用户可以在不离开应用的情况下浏览网页内容。本项目“安卓webview与js交互demo”着重展示了如何在WebView中实现...
开发者可以通过这个包名与系统交互,调用WebView的相关API来在自己的应用中集成浏览网页的功能。 标签"原生应用"暗示了WebView是Android操作系统的一部分,而非第三方应用市场下载的软件。原生应用通常意味着它们是...
前两天接到一个无线的需求,我这个小白可是忙活了好几天……在页面上有一个连接, 如果用户安装了APP,则点击打开对应的APP如果用户没有安装,则点击打开对应的设置连接.上网搜索了一下,基本都说可以实现,但是实际...
当开发者需要在自己的应用程序中嵌入网页内容时,通常会使用WebView。 遇到`Inspect`调试`WebView`时出现空白页的问题,可能是以下几个原因: 1. **WebView版本不兼容**:某些版本的WebView可能与最新的DevTools不...
本教程将详细讲解如何在Android应用中使用SQLite数据库,以及如何结合WebView进行数据展示。 首先,让我们了解SQLite在Android中的基础概念。SQLite数据库是本地存储的,每个Android应用程序都有自己的SQLite数据库...
而“qt打开浏览器插件”则涉及到如何在Qt应用程序中集成浏览器功能,使得用户能够通过Qt界面直接访问网页。本文将深入探讨这个主题,讲解如何在Qt中实现浏览器功能,并提供相关技术细节。 首先,Qt提供了QWebView...
同时,开发者可能会实现`WebViewClient`中的`shouldOverrideUrlLoading()`方法来控制链接点击的处理方式,决定是在当前WebView中打开新页面还是启动新的Activity。 `WebSettings`是另一个重要的对象,用于配置...
当你想要从自己的应用中启动浏览器,比如点击一个链接时,你需要创建一个Intent,并指定操作类型为ACTION_VIEW,然后设置数据URI,这通常包含你要打开的网页URL。 以下是关于Android打开浏览器的相关知识点: 1. *...
市场上相应的检测平台诸如检测通、凡特网等皆为pc端检测网站,并且操作繁琐不够人性化,用户在实地使用中存在很多问题。昆山工业技术研究院着眼于为委托用户和质检机构搭建良好的沟通桥梁,免去目前市场业务中企业...
通过分析这些资源,开发者可以了解如何在自己的应用中集成TBS SDK,实现Office文档的本地预览。 7. **权限管理**: 在Android应用中处理文件,需要获取相应的权限,如`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_...
2. **浮动窗口(悬浮视图)**: 微信浏览器中的浮窗功能允许用户在浏览网页的同时打开一个小窗口,显示另一个页面。实现这一功能需要自定义视图,通过手势控制或用户交互来显示、隐藏、移动和缩放浮窗。这涉及到对`...
在Java编程中,模拟微信浏览器访问Web页面是一个常见的需求,特别是在自动化测试、数据抓取或者模拟用户行为的场景。这个“java模拟微信浏览器访问.rar”压缩包中的主要文件是“MonitorWeixinBrowser.java”,我们...
在实际使用这个项目时,开发者需要解压文件,通过IDE或编辑器打开源代码,根据提供的文档或README文件了解如何配置和运行项目。可能还需要设置环境变量,安装依赖,然后启动开发服务器。在开发过程中,利用调试工具...
- 在Xcode中,点击“Run”按钮来编译和运行应用,可以在模拟器或连接的iOS设备上测试。 通过理解这些关键技术点,你可以根据自己的需求对这个PhoneGap iOS工程实例进行扩展和定制,开发出具有特定功能的移动应用。...
在实际开发中,你可能会遇到各种问题,比如签名错误、网络连接问题、授权页面无法正常显示等。这些问题在提供的`QQLogin`项目中应该已经进行了处理,你可以参考其中的注释和异常处理逻辑,学习如何解决这些问题。 ...
在这个实例中,开发者会引导用户在Webview内打开腾讯微博的授权页面,用户同意授权后,腾讯微博会返回一个授权码或者访问令牌。这个令牌用于后续的API调用,确保应用能够代表用户进行操作,如发布微博、获取用户信息...
1. **Android客户端上传文件**:在Android应用中,我们通常使用`HttpURLConnection`或第三方库如`OkHttp`进行网络请求。文件上传是通过POST请求实现的,其中文件以多部分/表单数据格式发送。在创建请求时,需要设置...