webSettings = wvShowProduce.getSettings();
//设置WebView属性,能够执行Javascript脚本
webSettings.setJavaScriptEnabled(true);
//设置可以访问文件
webSettings.setAllowFileAccess(true);
//设置支持缩放
webSettings.setBuiltInZoomControls(false);
wvShowProduce.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
webSettings.setCacheMode(webSettings.LOAD_DEFAULT);// 打开缓存 webSettings.setSupportZoom(false);
webSettings.setAllowContentAccess(true); webSettings.setJavaScriptEnabled(true);
webSettings.setUseWideViewPort(true);// 设置此属性,可任意比例缩放
webSettings.setLoadWithOverviewMode(true); // webSettings.setLoadsImagesAutomatically(true);
webSettings.setUseWideViewPort(true);// 将图片调整到适合webview的大小
webSettings.setBlockNetworkImage(false);
wvShowProduce.addJavascriptInterface( (class 的代理名称), "OCModel");
//加载需要显示的网页
wvShowProduce.loadUrl(url); //进行跳转网页
wvShowProduce.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (!TextUtils.isEmpty(url)) {
Log.i("img", url);
Intent intent1 = new Intent(MyShowWebViewActivity.this, MyShowWebViewActivity.class);
intent1.putExtra(Consts.KEY_SENDENTITY2ACTIVITY, url);
startActivity(intent1);
}
return true;
} @Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
rlProgress.setVisibility(View.VISIBLE);
} @Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
rlProgress.setVisibility(View.GONE);
webSettings.setBlockNetworkImage(false); if (!TextUtils.isEmpty(title)) {
if (title.contains("http") || title.contains("您的域名") || title.contains("本地的地址") || title.contains("。。。")) {
title = "";
}
setTitle(title);
} else {
setTitle("");
}
} @Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
rlProgress.setVisibility(View.GONE);
ToastUtil.showShort(MyShowWebViewActivity.this, "出现错误,请稍后再试");
}
});

//获取Title  
wvShowProduce.setWebChromeClient(new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
String title_str = title;
if (title.contains("http") || title.contains("") || title.contains("") || title.contains("")) {
title_str = "";
}
MyShowWebViewActivity.this.title = title_str;
setTitle(title);
}
}); //调用js
String call = "javascript:方法名()";
wvShowProduce.loadUrl(call);
//js 调用android
wvShowProduce.addJavascriptInterface(new OCModel(), "OCModel");
 public class OCModel {
// 分享到对话
@JavascriptInterface
public void ShareWithContent(String temp, final String data) {
}
												

android webview实战的更多相关文章

  1. Android WebView基本使用

    转载请注明出处: http://blog.csdn.net/lowprofile_coding/article/details/77928614 WebView介绍 Android WebView在A ...

  2. Android WebView 302斗争之旅

    一.背景 越来越多的业务接入,项目内多多少少会出现几个H5页面,只是单纯的提供WebView容器接入H5页面根本满足不了需求,他们需要登录态,需要制定协议控制Native的导航栏,或者需要JsBrid ...

  3. Android WebView useragent

    今天介绍一下Android WebView UserAgent, User-Agent(简称UA)是HTTP请求头部用来标识客户端信息的字符串, 包括操作系统, 浏览器等信息.为了建立手机客户端的信息 ...

  4. android webview开发问题及优化汇总

    我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题.就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来.有些是老生常谈,有些则是个人摸索得出解决方 ...

  5. Android WebView 开发教程

    声明在先:必须在AndroidMainfest.xml 里面声明权限,否则在Java里面编写的所有WebView浏览网页的代码都无法正常使用 <uses-permission android:n ...

  6. [Android] WebView内的本地网页,使用XMLHttpRequest读取本地档案

    [Android] WebView内的本地网页,使用XMLHttpRequest读取本地档案 问题情景 在Android里,可以使用WebView来呈现本地或是远程的网页内容.但是在显示本地网页时,如 ...

  7. Android webview通过http get下载文件下载两次的问题及解决方法

    一.现象 一般通过Android webview进行下载文件的方法是 1.重写DownloadListener的onDownloadStart方法,在onDownloadStart方法中弹出对话框提示 ...

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

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

  9. android webview 底层实现的逻辑

    其实在不同版本上,webview底层是有所不同的. 先提供个地址给大家查:http://grepcode.com/file/repository.grepcode.com/java/ext/com.g ...

随机推荐

  1. Mybatis3+Spring4+SpringMVC4 整合

    首先在整合这个框架的时候,想想其一般的步骤是怎样的,先有个步骤之后,不至于在后面的搞混了,这样在整合的时候也比较清晰些. 然后我们就细细的一步一步来整合. 1  创建一个Web项目. 2  导入Myb ...

  2. Sqlserver_left join 、right join、 inner join 用法

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...

  3. c++11 其他特性(一)

    c++11还增加了许多有用的特性,比如: 1. 委托构造函数 如果一个类含有很多构造函数,这些构造函数有一些重复的地方,比如: class A{ public: A(){}; A(int a){ a_ ...

  4. matlab cross 3*1 向量叉乘

    一定是1*3  或者3*1 的向量才可以叉乘 A=[1 2 3] B=[4 5 6] cross(A,B) ans=[-3 6 -3] 解决机器人微分运动量之间的等价关系

  5. form表单生成的简单理解

    1, drupal_get_form,只要是准备$form_state['build_info']['arg'], 然后进入drupal_build_form(), 2, form build 主要有 ...

  6. java 集合(Set1)

    ----------------|Collection(为什么要画这个图?学多了之后该忘了) --------------------------|List --------------------- ...

  7. IOC Container(服务容器)的工作机制

    IOC Container 是laravel的一个核心内容,有了IOC Container在Laravel的强大表现,我们可以在Laravel中实现很大程度的代码维护性.(文档我是看的懵逼懵逼的(*^ ...

  8. python 练习 26

    Python break语句,就像在C语言中,打破了最小封闭for或while循环. break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句. br ...

  9. meta viewport 详解

    ViewPort <meta>标记用于指定用户是否可以缩放Web页面,如果可以,那么缩放到的最大和最小缩放比例是什么.使用ViewPort <meta>标记还表示文档针对移动设 ...

  10. URL链接中文参数乱码的若干处理方法

    JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下: 方法一: (1) JS中,在URL参数中确保用UTF-8编码,用js函数encodeURI()编码,例如 url:"xx ...