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 ...
随机推荐
- linux 后台执行命令
本文主要内容: 1. 设置ctontab文件,并用它来提交作业. 2. 使用at命令来提交作业. 3. 在后台提交作业. 4. 使用nohup命令提交作业. 名词解释: cron 系统调度进程.可以使 ...
- jquery select选中项 赋值
$("flag").attr("value",flag); $("#flag").find("option:selected&qu ...
- listToString
http://www.oschina.net/code/snippet_109648_2229
- VB6 GDI+ 入门教程[2] GDI+初始化
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[2] GDI+初始化 2009 年 6 月 18 日 7 ...
- Hibernate-细细道来-01
Dao代码,如何编写? 使用Jdbc技术,原始的jdbc操作, Connection/Statement/ResultSet DbUtils组件, 轻量级的dao的组件: Hibernate技术 [ ...
- Python顺序集合之 tuple
慕课网<Python 入门>学习笔记 1.tuple特性 tuple是另一种有序的列表,中文翻译为“ 元组 ”.tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改 ...
- (24)odoo中模型标识汇总
* 设置->技术->数据结构->模型 模型 模型描述 类型 瞬态模型account.account 科目 基础对象 ...
- (08)odoo继承机制
* 全局的引用 所有的的模型定义外,都在注册中心注册了,我们可以用全局变量来引用这些模型 self.env[mode name] 比如得到合作伙伴这个模型 self.evn['res.pa ...
- hive分区导致FAILED: Hive Internal Error: java.lang.NullPointerException(null)
写了一条hive sql ,其中条件中存在 dt>=20150101 and dt<=20150228 这样的条件,原来执行没问题,今天就抛出 FAILED: Hive Internal ...
- [译]Quartz 框架 教程(中文版)2.2.x 之第一课 开始使用Quartz框架
第一课:开始使用Quartz框架 在你使用调度器之前,需要借助一些具体的例子去理解(谁愿意只是猜啊?).你可以使用SchedulerFactory类来达到程序调度的目的.有一些Quartz框架的用户可 ...