资源简介
WebView与Js的互相调用 已测试通过,H5中的js调用android并传值,Android调用js并传值

代码片段和文件信息
package com.example.administrator.myapplication;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.webkit.JsResult;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class WebViewJsActivity extends AppCompatActivity {
private static final int MY_PERMISSIONS_REQUEST_CALL_PHONE = 1;
private Handler mHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webviwjs);
// mWebView.loadUrl(“file:///android_asset/test.html“);;
final WebView mWebView = (WebView) findViewById(R.id.view);
WebSettings mWebSettings = mWebView.getSettings();
WebSettings webSettings = mWebView.getSettings();
//设置WebView属性,能够执行javascript脚本
webSettings.setjavascriptEnabled(true);
//设置可以访问文件
webSettings.setAllowFileAccess(true);
//设置支持缩放
webSettings.setBuiltInZoomControls(true);
//加载需要显示的网页
webSettings.setBlockNetworkImage(false);
webSettings.setBlockNetworkLoads(false);
webSettings.setDomStorageEnabled(true);
//启用javascript
mWebSettings.setjavascriptEnabled(true);
//设置编码格式
mWebSettings.setDefaultTextEncodingName(“utf-8“);
//mWebView.loadData(“““text/html““UTF-8“);
//调用本地html文件
mWebView.loadUrl(“file:///android_asset/test.html“);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view String url String message JsResult result) {
return super.onJsAlert(view url message result);
}
});
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view String url) {
// 如下方案可在非微信内部WebView的H5页面中调出微信支付
Uri uri = Uri.parse(url);
// 如果url的协议 = 预先约定的 js 协议
// 就解析往下解析参数
if ( uri.getScheme().equals(“js“)) {
// 如果 authority = 预先约定协议里的 webview,即代表都符合约定的协议
// 所以拦截url下面JS开始调用Android需要的方法
if (uri.getAuthority().equals(“webview“)) {
// 步骤3:
// 执行JS所需要调用的逻辑
System.out.println(“js调用了Android的方法“);
// 可以在协议上带有参数并传递到Android上
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 539 2017-12-28 21:11 test.html
文件 4318 2017-12-28 21:47 WebViewJsActivity.java
相关资源
- JSP,SQL,MVC的选课系统
- 基于JSP的学生宿舍管理系统(源码 数
- JSP选课管理系统
- mysql jsp网站源码下载
- JSP做的化妆品商城
- Jsp购物车实例
- 基于JSP的校友信息管理系统(添加数
- 基于jsp的bbs论坛 非常详细
- jsp oracle通讯录
- JSP学生信息管理系统 Mysql数据库
- 使用jsp servlet做的投票系统
- JSP登陆验证 实现JSP用户名 密码 验
- jsp基于servlet 图书馆管理系统
- jsp学生成绩管理系统.rar
- 在线考试系统源代码(jsp)
- 超级好的纯jsp写的聊天室
- JSP 网上购物网页项目
- JSP+mysql新闻发布系统.rar
- jsp 学生信息管理系统设计与实现
- jsp与SQL Server数据库实现的客户注册登
- 简易教学管理系统(jsp spring struts h
- 学生信息管理系统 JSP MySQL
- jsp ajax 三级联动菜单
- jsp新闻公告与最新消息系统(具备添
- JSP课程设计-留言本 jsp mysql tomcat实现
- jsp 做的 班级管理网站
- jsp 统计在线人数利用HttpSessionListene
- jsp mysql tomcat学生信息管理系统
- jsp成绩管理系统jsp servlet javabean
- 北大青鸟项目实战JSP论坛短消息
评论
共有 条评论