URL 语法
URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。

URL的一般语法格式为:

(带方括号[]的为可选项):

protocol :// hostname[:port] / path / [;parameters][?query]#fragment 
 1   public static class CommonWebViewClient extends WebViewClient {

         @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("leo", "[webViewUrl]" + url);
if (url.startsWith("tel")) {// 机构电话
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
Uri uri = Uri.parse(url);
if ("baonajia".equals(uri.getScheme())) {
if ("organization".equals(uri.getHost())) {// 课程详情跳转到机构详情
Organization organization = new Organization();
organization.setId(uri.getQueryParameter("organization_id"));
organization.setName(uri.getQueryParameter("organization_name"));
Intent intent = new Intent(view.getContext(), OrganizationDetailActivity.class);
intent.putExtra(Const.EXTRA_ORG, organization);
view.getContext().startActivity(intent);
} else if ("course".equals(uri.getHost())) {// 机构详情跳转到课程详情
new CourseTask(view, uri.getQueryParameter("course_id")).execute();
} else if ("school".equals(uri.getHost())) {// 机构详情跳转到校区列表
String orgId = uri.getQueryParameter("organization_id");
Intent intent = new Intent(view.getContext(), SchoolListActivity.class);
intent.putExtra(Const.EXTRA_ORG_ID, orgId);
view.getContext().startActivity(intent);
} else if ("album".equals(uri.getHost())) {// 机构详情跳转到相册列表
String orgId = uri.getQueryParameter("organization_id");
Intent intent = new Intent(view.getContext(), PhotoAlbumListActivity.class);
intent.putExtra(Const.EXTRA_ORG_ID, orgId);
view.getContext().startActivity(intent);
} return true;
} else {
view.loadUrl(url);
return true;
}
} @Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Log.e(TAG,
String.format("errorCode: %s, description: %s, when open: %s", errorCode, description, failingUrl));
view.loadUrl(URLCenter.getError());
}
}

Android WebView 拦截自定义协议的更多相关文章

  1. Android webView输出自定义网页

    这次来使用webview输出网页型数据.因为这样的数据好使用富文本编辑器,有各种各样的拓展. 上代码: package controller.hzl.com.testcall; import andr ...

  2. android deep link(深度链接)与自定义协议!

    此自定义仅供参考! 首先打开androidManifest.xml 在MainActivity中添加如下内容: <activity android:name=".MainActivit ...

  3. Android为TV端助力 deep link(深度链接)与自定义协议!

    此自定义仅供参考! 首先打开androidManifest.xml 在MainActivity中添加如下内容: <activity android:name=".MainActivit ...

  4. 移动开发首页业界资讯移动应用平台技术专题 输入您要搜索的内容 基于Java Socket的自定义协议,实现Android与服务器的长连接(二)

    在阅读本文前需要对socket以及自定义协议有一个基本的了解,可以先查看上一篇文章<基于Java Socket的自定义协议,实现Android与服务器的长连接(一)>学习相关的基础知识点. ...

  5. Android WebView常见问题及解决方案汇总

    Android WebView常见问题解决方案汇总: 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native app之间孰优孰劣的争论. 于是 ...

  6. Android WebView常见问题解决方案汇总

    问题目录: 1.为WebView自定义错误显示界面: 2.WebView cookies清理 3.清理cache 和历史记录 4.判断WebView是否已经滚动到页面底端 5.URL拦截 6.处理We ...

  7. android WebView详解,常见漏洞详解和安全源码

    这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析.  转载请注明出处:http://blog.csdn.net/se ...

  8. Android之Android WebView常见问题及解决方案汇总

    如有转载,请声明出处: 时之沙: http://blog.csdn.net/t12x3456 Android WebView常见问题解决方案汇总: 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变 ...

  9. Android WebView 常见问题

    1.为WebView自定义错误显示界面: /** * 显示自定义错误提示页面,用一个View覆盖在WebView */ protected void showErrorPage() { LinearL ...

随机推荐

  1. hash-5.ConcurrentHashMap

    http://www.cnblogs.com/dolphin0520/p/3932905.html有时间细看

  2. WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据

    WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...

  3. git之create local reposition(创建本地仓库)

    1.创建名为git-reposition的仓库 mkdir home/sunjf/git-reposition 注:home/sunjf可以指定为你想要的路径下面 2.初始化仓库 cd ~/git-r ...

  4. phpcms数据库操作

    http://www.cnblogs.com/suihui/archive/2013/08/01/3229821.html 一.查 ①select($where = '', $data = '*', ...

  5. 最牛X的GCC 内联汇编

    导读 正如大家知道的,在C语言中插入汇编语言,其是Linux中使用的基本汇编程序语法.本文将讲解 GCC 提供的内联汇编特性的用途和用法.对于阅读这篇文章,这里只有两个前提要求,很明显,就是 x86 ...

  6. BZOJ 3363: [Usaco2004 Feb]Cow Marathon 奶牛马拉松

    Description 给你一个图,两个点至多有一条路径,求最长的一条路径. \(n \leqslant 4\times 10^4\) Sol DFS?DP? 这就是一棵树,方向什么的都没用... 然 ...

  7. BZOJ 1044: [HAOI2008]木棍分割

    Description 求 \(n\) 根木棍长度为 \(L\) ,分成 \(m\) 份,使最长长度最短,并求出方案数. Sol 二分+DP. 二分很简单啊,然后就是方案数的求法. 状态就是 \(f[ ...

  8. 4 Handler相关类——Live555源码阅读(一)基本组件类

    这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. Handler相关类概述 处理程序相关类一共有三个,其没有派生继承关系,但是其有友元关系和使用关系 ...

  9. 一个简单的Python网络爬虫(抓图),针对某论坛.

    #coding:utf-8 import urllib2 import re import threading #图片下载 def loadImg(addr,x,y,artName): data = ...

  10. gpt格式下通过U盘装win7系统

    首先下好一个64位的win7系统,可以是ghost版的,然后放到你的U盘,在U盘的根目录下添加bootmgr.efi,bootx64.efi.shell.efi这几个文件,其它都不要管,重启,你就在g ...