zoukankan      html  css  js  c++  java
  • 利用js与java交互

    为了方便网页和应用的交互,安卓系统WebView提供JavaScript网页脚本调用Java类方法的机制。只要调用addJavascriptInterface方法即可映射一个Java对象到JavaScript对象上。

    MainActivity.java代码:

    package com.apple.browser;
    
    import android.annotation.SuppressLint;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
    	private WebView webView;
    	private Activity activity;
    
    	@SuppressLint("SetJavaScriptEnabled")
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    
    		activity = this;
    
    		webView = (WebView) findViewById(R.id.webview);
    		webView.loadUrl("file:///android_asset/index.html");
    
    		final WebSettings settings = webView.getSettings();
    		settings.setJavaScriptCanOpenWindowsAutomatically(true);
    		settings.setJavaScriptEnabled(true);
    		settings.setSupportZoom(true);
    
    		webView.addJavascriptInterface(new JSInvokeClass(), "js2java");
    	}
    
    	public final class JSInvokeClass {
    		public void back() {
    			// activity.finish();
    			Toast.makeText(activity, "通过js调用的Java方法", Toast.LENGTH_SHORT).show();
    		}
    	}
    }
    

     
    HTML中代码:

    <input type=button name=smt value='invoke java' onclick="javascript:window.js2java.back();">
    


     XML布局代码:
                           略

  • 相关阅读:
    rpm软件包以及rmp命令
    使用ssh-keygen生成密钥对
    从现有的虚拟机创建vagrant box ,再利用新创建的box创建虚拟机
    EXCEL固定行和列
    URL编码
    标准ASCII码
    base64编码
    http学习--URL字符
    浏览器通过http获取服务器资源的过程
    一名程序员过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
  • 原文地址:https://www.cnblogs.com/magics/p/4089593.html
Copyright © 2011-2022 走看看