• js与android webview交互


    0x01 js调用java代码

    android webview中支持通过添加js接口

    webview.addJavascriptInterface(new JsInteration(), "control");
    

    参数说明:

    第一个:java对象对应这个WebView的JavaScript上下文

    第二个:调用java对象的js中引用对象

    Parameters:
     1 object the Java object to inject into this WebView's JavaScript context. Null values are ignored.
     2 name the name used to expose the object in JavaScript

    0x02 java调用js代码

     构造一个可执行的js脚本字符串

     webview.loadurl("js脚本");

    0x03 关于type="file" input控件在android平台上没触发文件选择事件,android系统屏蔽其消息,需要设置

    id_webview.setWebChromeClient(new WebChromeClient() {
    
    			// For Android 3.0+
    			public void openFileChooser(ValueCallback<Uri> uploadMsg,
    					String acceptType) {
    				mUploadMessage = uploadMsg;
    				Intent i = new Intent(Intent.ACTION_GET_CONTENT);
    				i.addCategory(Intent.CATEGORY_OPENABLE);
    				i.setType("image/*");
    				XQSInspectionActivity.this.startActivityForResult(
    						Intent.createChooser(i, "ÎļþÑ¡Ôñ"),
    						XQSInspectionActivity.FILECHOOSER_RESULTCODE);
    			}
    
    			// For Android < 3.0
    			@SuppressWarnings("unused")
    			public void openFileChooser(ValueCallback<Uri> uploadMsg) {
    				openFileChooser(uploadMsg, "");
    			}
    
    			// For Android > 4.1
    			@SuppressWarnings("unused")
    			public void openFileChooser(ValueCallback<Uri> uploadMsg,
    					String acceptType, String capture) {
    				openFileChooser(uploadMsg, "");
    			}
    		});
    

      

  • 相关阅读:
    云计算openstack核心组件——neutron网络服务(9)
    云计算openstack核心组件——neutron网络服务(8)
    flexible.js 布局详解
    libflexible源码阅读
    H5适配方案
    微信分享朋友圈示例代码
    微信接口示例代码
    微信JSSDK上传图片,代码为上传单张图
    H5动画开发快车道
    Centos 6.5 安装 Nginx+MySQL+PHP
  • 原文地址:https://www.cnblogs.com/lmf-techniques/p/5736125.html
Copyright © 2020-2023  润新知