android webview实战
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实战的更多相关文章
- Android WebView基本使用
转载请注明出处: http://blog.csdn.net/lowprofile_coding/article/details/77928614 WebView介绍 Android WebView在A ...
- Android WebView 302斗争之旅
一.背景 越来越多的业务接入,项目内多多少少会出现几个H5页面,只是单纯的提供WebView容器接入H5页面根本满足不了需求,他们需要登录态,需要制定协议控制Native的导航栏,或者需要JsBrid ...
- Android WebView useragent
今天介绍一下Android WebView UserAgent, User-Agent(简称UA)是HTTP请求头部用来标识客户端信息的字符串, 包括操作系统, 浏览器等信息.为了建立手机客户端的信息 ...
- android webview开发问题及优化汇总
我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题.就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来.有些是老生常谈,有些则是个人摸索得出解决方 ...
- Android WebView 开发教程
声明在先:必须在AndroidMainfest.xml 里面声明权限,否则在Java里面编写的所有WebView浏览网页的代码都无法正常使用 <uses-permission android:n ...
- [Android] WebView内的本地网页,使用XMLHttpRequest读取本地档案
[Android] WebView内的本地网页,使用XMLHttpRequest读取本地档案 问题情景 在Android里,可以使用WebView来呈现本地或是远程的网页内容.但是在显示本地网页时,如 ...
- Android webview通过http get下载文件下载两次的问题及解决方法
一.现象 一般通过Android webview进行下载文件的方法是 1.重写DownloadListener的onDownloadStart方法,在onDownloadStart方法中弹出对话框提示 ...
- Android WebView常见问题及解决方案汇总
Android WebView常见问题解决方案汇总: 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native app之间孰优孰劣的争论. 于是 ...
- android webview 底层实现的逻辑
其实在不同版本上,webview底层是有所不同的. 先提供个地址给大家查:http://grepcode.com/file/repository.grepcode.com/java/ext/com.g ...
随机推荐
- velocity基础教程--1.标准使用(zhuan)
http://llying.iteye.com/blog/387253 **************************** velocity是一个非常好用的模板引擎 这里不对项目进行详细介绍,可 ...
- Struts2文件上传
1 在Struts2中上传文件需要 commons-fileupload-1.2.1.jar.commons-io-1.3.2.jar 这两个包. 2 确认页面form表单上的提交方式为POST, ...
- 20160805_CentOS6_控制台切换
1. Ctrl + Alt + F1~F6 Ctrl + Alt + F1 是 图形界面(如果装了的话),后面的是 控制台界面 2. 3.
- php学习记录 易混淆
1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以 ...
- maven和jdk版本不匹配
解决方法:http://blog.csdn.net/mafan121/article/details/51944346
- go语言实战向导
版权声明:本文由魏佳原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/173 来源:腾云阁 https://www.qclou ...
- LocalStorage在Chrome里的实现
前段时间我们在实现CanTK-Runtime时,也曾在V8基础上模拟过浏览器的LocaleStorage功能,其实现非常简单:每个domain的数据使用的单独文件存储,因为同一时间只有一个游戏运行,所 ...
- java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ...
- MySQL DELETE 表别名问题
- C#读写EXCEL
using System; using System.Collections; using System.Configuration; using System.Data; using System. ...