Android:让Link始终保持在程序的WebView中跳转

在Android的WebView中,当点击调用网页的链接时,默认的动作是跳转到系统设定的默认浏览器中。如果想让链接始终在当前WebView中跳转的话,就需要添加以下代码:

1 WebView webView = (WebView) findViewById(R.id.webView1);
2 webView.setWebViewClient(new WebViewClient());

如果只是想让特定的URL保持在WebView中跳转的话,可以通过重写WebViewClient来实现,示例如下:


 1 private class MyWebViewClient extends WebViewClient {
2 @Override
3 public boolean shouldOverrideUrlLoading(WebView view, String url) {
4 if (Uri.parse(url).getHost().equals("192.168.3.95")) {
5 // This is my web site, so do not override; let my WebView load the page
6 return false;
7 }
8 // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
9 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
10 startActivity(intent);
11 return true;
12 }
13 }

其中的192.168.3.95可以转换成任何想要保持在WebViewClient中跳转的Host名称,例如www.example.com。

最后别忘了把webView.setWebViewClient(new
WebViewClient());改为webView.setWebViewClient(new
MyWebViewClient());

Android:让Link始终保持在程序的WebView中跳转,布布扣,bubuko.com

时间: 2024-12-28 01:16:24

Android:让Link始终保持在程序的WebView中跳转的相关文章

【android】只让本应用程序的webview加载网页而不调用外部浏览器的办法

只让本应用程序的webview加载网页,而不调用外部浏览器打开的办法就是:设置WebViewClient,并重写WebViewClient的shouldOverrideUrlLoading方法返回true mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated

Android使用AndEngine创建第一个程序

首先要把andengine.jar复制到libs文件夹里 01 package com.hu.anden; 02   03 import org.anddev.andengine.engine.Engine; 04 import org.anddev.andengine.engine.camera.Camera; 05 import org.anddev.andengine.engine.options.EngineOptions; 06 import org.anddev.andengine.

Android入门(五):程序架构——MVC设计模式在Android中的应用

刚刚接触编程的的人,可能会这样认为:只要代码写完了能够跑起来就算完工了.如果只是写一个小程序,“能够跑起来”这样的标准也就可以了,但是如果你是在公司进行程序的开发,那么仅仅让程序成功的跑起来是不行的,事情远没有你想的这么简单.一个商业项目的代码少则数万行,多则上百万甚至更多,这种商业项目不可能仅仅靠一个人完成,要想高效高质量的完成开发工作,就需要一个专业的开发团队了.在团队中,有人负责项目的架构设计,有些人负责程序代码的编写….要想像这样做到项目开发的分工就必须在程序的结构上做适当的安排. 举个

Eclipse搭建Android开发环境时adb.exe程序无法执行

问题描述:执行Android应用程序时报错 错误信息如下: The connection to adb is down, and a severe error has occured.You must restart adb and Eclipse.Please ensure that adb is correctly located at 'D:\adt-bundle-windows-64\sdk\platform-tools\adb.exe' and can be executed. 首先先

学习Android之第八个小程序文件保存(Notification、AndroidTestCase)

效果图:       .java文件有MainActivity.java.FileService.java.FileServiceTest.java, .xml文件有activity_main.xml. 本次注重AndroidTestCase类的使用,在开发中非常实用.用于测试某一功能. 使用AndroidTestCase类,有如下的要求: 1.在AndroidManifest.xml文件中,<manifest></manifest>中添加如下: <instrumentati

Arcgis runtime sdk for android(二)第一个程序Holle Map

说实话,我卡在第一个程序很久,不会,懂得人觉得太简单了,不想理我,很无助,不过习惯了.做事靠自己. 在做这个之前,你需要确保你的环境已经搭建好了,最好你的第一个安卓程序hello world!也跑起来了,那么下面这个hello map将变得非常简单. 做第一个程序,你需要的是什么都不要知道,只需要,我做什么你做什么,因为我了解的不多,回答不来你的很多问题,我也是初学者,写这个主要是心路历程.其实,等你有安卓开发基础,来看这个东西就比较轻松了,不然和我刚开始一样很吃力. 根据官网的guide指导,

[笔记]Android开发环境配置及HelloWorld程序

Android的开发需要以下四个工具: 1.JDK 2.Eclipse 3.Android SDK 4.ADT 具体功能: 1.JDK.JDK即Java Development Kit(Java开发工具包),包括JAVA运行环境,基础类库和JAVA工具,是JAVA运行的基础. 2.Eclipse.Eclipse是开发JAVA程序的软件工具. 3.Android SDK.SDK即Software Development Kit(软件开发工具包).AndroidSDK指的是Android专属的软件开

从Android Studio 说开去--未来程序员工具的发展方向——版本兼容,以及为什么我们总是要学SB&quot;新&quot;东西

抽时间学习Android. 刚刚下载了 http://developer.android.com/sdk/installing/studio.html#Updating Getting Started with Android Studio 下载安装,很简单. 启动前,先把翻墙的工具准备好,并且开动之. 否则是不行了. 我再牢骚几句啊(我自己要是开公司,门口第一个标语栏就是:大声报怨.一个连抱怨都不会的人,我不信他是一个正常人,更别提创造力了.当然,我招人也只会招参与型的人,只抱怨,但事事弃权,

Android -- 分享功能和打开指定程序

打开指定程序                                                                                Intent intent = new Intent(); ComponentName cmp = new ComponentName("com.sina.weibo","com.sina.weibo.EditActivity"); intent.setAction(Intent.ACTION_M