资源简介
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在线文本编辑器
- 简单的jsp+mysql实现数据库的增删改查
- jsp+mysql 客户信息管理系统完整源代码
- 网上销售系统
- jsPlumb-2.2.8-拖拽
- android cookie获取和设置,webView的cook
- Java Json解析,Java Web Json解析,Java W
- 图书馆管理系统JSP+Servlet+JavaBean+MySQ
- JSP操作数据库,实现新用户注册和用
- jsp实现的Email邮件发送
- 教学网站毕业设计
- JSP实用教程第二版耿祥义、张跃平完
- 基于jsp+servlet+ajax的web聊天室
- jsp日历日程安排
- engine.js和util.js
- jQuery-UI和jsPlumb实现拖拽连接模型dem
- jstl.jar standard.jar
- 网上招聘系统的设计与实现JSP源代码
- 基于web的高校毕业生信息系统JSP源代
- mvc框架+实现留言板JSP+Servletjavabean.r
-
Java JSON与ob
ject互转源代码 - 炫酷的登录jsp页面完整代码
- GeoJson的生成与解析所需jar包
- json_simple-1.1.jar包
- Android客户端与服务器端的json数据交互
- jsp实现分页.zip
- jstl1.1.jar和standard1.1.jar
- zw_ainijiudilei-9874621-Android客户端与服务
- zw_u011105812-8619903-用户管理系统JSP+MY
- 079npcJS
评论
共有 条评论