文档章节

WebView 简单使用方法

cicue
 cicue
发布于 2015/01/26 15:30
字数 307
阅读 47
收藏 0

使用WebView记得加上网络权限

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



后退键网页后退而不是退出

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {  
        mWebView.goBack();  
        return true;  
    }  
    return super.onKeyDown(keyCode, event);
}


设置获取WebView 内部数据

webView.getSettings().setJavaScriptEnabled(true);            //可以获取js数据
webView.addJavascriptInterface(new Handler(), "handler");    //js数据的监听接口

//监听接口里 显示出网页数据
class Handler {
    public void show(String data) {
    //data  就是网页数据
    Toast.makeText(WebViewActivity.this, "执行了handler.show方法", 0).show();
    new AlertDialog.Builder(WebViewActivity.this).setMessage(data).create().show();
    }
}

这个在页面加载完成后调用 onPageFinished()   handler   js数据监听接口

view.loadUrl("javascript:window.handler.show(document.body.innerHTML);");

在WebView中跳转

mWebView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    { //  重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
        view.loadUrl(url);
        return true;
     }    
     
     //页面加载完成
    public void onPageFinished(WebView view, String url) {
	Toast.makeText(WebViewActivity.this, "网页加载完成", 0).show();
	view.loadUrl("javascript:window.handler.show(document.body.innerHTML);");
	super.onPageFinished(view, url);
    }        
});

在WebView 加载进度显示 WebChromeClient另一个对象

mWebView.setWebChromeClient(new MyWebChromeClient());  

final class MyWebChromeClient extends WebChromeClient {  
    //进度显示
    @Override
    public void onProgressChanged(WebView view, int newProgress) {
        // TODO Auto-generated method stub
        super.onProgressChanged(view, newProgress);   
        System.out.println(newProgress);              //当前加载进度
    }
        
    @Override
    public void onReceivedTitle(WebView view, String title) {
        super.onReceivedTitle(view, title);
    }
}



© 著作权归作者所有

cicue
粉丝 15
博文 111
码字总数 75311
作品 0
徐汇
私信 提问
有关WebView的一些使用方法

有关WebView的一些使用方法 muyuren 2016-04-13 Android系统中内置了一款高性能 webkit 内核浏览器,在 SDK 中封装为一个叫做 WebView 组件。 在开发过程中应该注意几点: 1.这是最基本的 Andr...

Jamsm
2016/05/31
81
0
win10 uwp 模拟网页输入

有时候需要获得网页的 js 执行后的源代码,或者模拟网页输入,如点按钮输入文字。 如果需要实现,那么就需要用 WebView ,使用方法很简单。 首先创建一个 WebView ,接下来的所有输入都需要在...

lindexi_gd
2017/06/26
0
0
android webView 使用方法

一个WebView的简单例子 。 在开发过程中应该注意几点: 1.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。 2.如果访问的页面中有Jav...

迷途d书童
2012/03/28
531
0
VSCode插件开发全攻略(七)WebView

更多文章请戳VSCode插件开发全攻略系列目录导航。 什么是Webview 大家都知道,整个VSCode编辑器就是一张大的网页,其实,我们还可以在中创建完全自定义的、可以间接和通信的特殊网页(通过一...

xal
2018/10/18
0
0
Phonegap 工作原理

1.Phonegap是什么 PhoneGap 是一个基于HTML和JavaScript的应用开发平台,使用它可以构建本地应用。你可以把PhoneGap看作一个正方形的web view container,它使用JavaScript编程接口实现用户在...

zting科技
2017/10/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部