第九章,WebView点击网页内链接跳转到其他Activity(Android)

在 AndroidManifest.xml中添加网络权限

<uses-permission android:name="android.permission.INTERNET"/>

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/main_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="start" />

    <WebView
        android:id="@+id/main_web"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

MainActivity.java

package com.example.webviewdemo01;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {

	private Button main_button;
	private WebView web_view;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 初始化数据
		initView();

	}

	private void initView() {
		// TODO Auto-generated method stub

		main_button = (Button) this.findViewById(R.id.main_button);
		web_view = (WebView) this.findViewById(R.id.main_web);

		// 设置监听
		main_button.setOnClickListener(this);

	}

	@Override
	public void onClick(View arg0) {
		// TODO Auto-generated method stub

		web_view.loadUrl("http://www.baidu.com");

		// WebChromeClienty用来处理WebView的Javascript的对话框、
		// 网站图标、网站title、加载进度等,重写里面的方法即可
		web_view.setWebChromeClient(new WebChromeClient());// 此方法此处可不写

		// WebViewClient用来处理WebView各种通知、请求事件等,重写里面的方法即可
		web_view.setWebViewClient(new WebViewClient() {

			// 点击页面中的链接会调用这个方法
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				// TODO Auto-generated method stub

				// 跳转到另外的activity
				Intent intent = new Intent(getApplication(),
						SecondActivity.class);
				startActivity(intent);

				Log.i("qing", "shouldOverrideUrlLoading..." + url);
				return super.shouldOverrideUrlLoading(view, url);
			}

		});

	}

}

运行截图:

点击上面任何一个链接

注:第二个activity的代码和布局因为没写太多内容,这里就没有贴出。

时间: 2024-10-12 17:08:55

第九章,WebView点击网页内链接跳转到其他Activity(Android)的相关文章

Android内嵌网页webview点击其中的链接跳转到我们应用内的Activity

在一个大的Android项目中,由于客户端来不及更新和实现,经常会内嵌一些网页(在一些大型的互联网公司,PC的产品总是跑在客户端的前面),比如活动页面,通常可以内嵌用html5实现的页面,可以适配手机.但是这些网页中有好多链接,但是这些链接有些内容有是我们客户端已经实现的,比如有一个注册链接,其实客户端也实现了注册功能,我们不想再继续跳转到网页注册,而是打开客户端某个注册Activity,可以通过以下方式来实现: xml 文件,如下: java代码如下: ? 1 2 3 4 5 6 7 8 9

关于iOS UIWebView 加载网页,点击网页内某些控件导致 Application &#39;UIKitApplication:xxx.xxx.xxx&#39; was killed by jetsam.

问题:公司用的腾讯问卷系统,内嵌在我们应用或游戏的自定义UIWebView里面展示,发现在iOS 10 以下系统,点击圆形勾选框 会大概率出现闪退. 通过联调发现:报了这样一个警告Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam. 然后没有更多的信息了. (连接真机调试,当发生闪退的时候,设备会同时跟Xcode断开连接,没有更多的错误堆栈,另外设备也没有记录下更多的Crash log 提供定位.) 最后从以下获取到近似

第九章 利用CSS3制作网页动画

一.CSS3变形 CSS3变形是一些效果的集合    如平移.旋转.缩放.倾斜效果    每个效果都可以称为变形(transform),它们可以分别操控元素发生平移.旋转.缩放.倾斜等变化 二.CSS3位移:translate <style type="text/css"> li a:hover{       transform: translate(10px,10px);       transform: translateX(10px);       transform

WebView加载网页完成后跳转到about:blank

public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } 更改为 public boolean shouldOverrideUrlLoading(WebView view, String url) { return super.shouldOverrideUrlLoading(view, url); } 参考资料https://github.com/s

366API能一键生成微信跳转链接,实现微信内自动跳转浏览器打开URL网页的工具

我们都知道现如今微信对第三方app下载链接的拦截是越来越严格了,下载链接在微信中分享转发经常会被拦截,一旦被拦截用户就只能复制链接手动打开浏览器粘贴才能访问,如此给用户带来的体验台差,用户量无法有效地累积起来,从而导致推广成本一直在增加,推广效率却无法有明显的提升. 所以针对这个问题,特写这篇文章分享如何通过api接口工具轻松地实现微信内自动跳转浏览器打开URL网页的功能. 微信api接口使用方法 1. 用浏览器打开我们需要用到的 366API 地址:http://www.366API.cn/

Android中webview加载网页无法点击或滚动

由于工作忙,很久没写博客了,今天就先来一篇吧,这也是项目中遇到的问题. 如题,webview加载网页,但是网页内容无法滚动和点击,且网页内容也没有正常全部展示,主要是因为没有正确setting而已,解决访求如下: WebSettings s = webview.getSettings(); s.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS); s.setUseWideViewPort(true); s.setLoadW

深入浅出Zabbix 3.0 -- 第九章 数据可视化

第九章 数据可视化 Zabbix是一个非常灵活.强大的监控系统,它不仅能够监控大量不同类型的数据指标,并为这些数据及数据之间的关联提供了多种可视化工具,通过图形.展示屏.网络拓扑图等将数据直观的展现出来,实时的浏览和查看监控设备的状态. 9.1 图形 Zabbix 3.0中支持三种graphs(图形),即simple graphs(简单图形).ad-hocgraphs(自组图形)和customgraphs(自定义图形). 9.1.1 简单图形 简单图形是Zabbix系统内置的一种方法,为监控项数

WebView 加载网页和java 与js交互

[mw_shl_code=java,true]WebView是一个可以显示网页的控件.需求:通过WebView加载assets下的html文件.实现页面的缩放.向menu键添加:前进.后退和刷新,实现对网页的操作点击网页中的链接,仍然使用本WebView浏览器,而非调用系统的浏览器网页中有button,点击button,调用android的Toast点击WebView隐藏地址栏和button,点击menu键显示地址栏和button.WebView加载网页的方式WebView webview =

小程序中的web-view与h5网页之间的交互

官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html web-view 基础库 1.6.4 开始支持,低版本需做兼容处理 web-view 组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面.个人类型与海外类型的小程序暂不支持使用. 客户端 6.7.2 版本开始,navigationStyle: custom 对 <web-view> 组件无效 属性名 类型 默认值 说明 src St