WebView 里有一个addJavascriptInterface(Objectobj,StringinterfaceName)方法,object为一个实例对象,你想用javascript调用的函数写在这代码如下:

package com.webview;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.util.Log;import android.webkit.JsResult;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.widget.Toast;public class MainActivity extends Activity {    private static final String LOG_TAG = "WebViewDemo";    private WebView mWebView;    private Handler mHandler = new Handler();    @Override    public void onCreate(Bundle icicle) {        super.onCreate(icicle);        setContentView(R.layout.main);        mWebView = (WebView) findViewById(R.id.webview);        WebSettings webSettings = mWebView.getSettings();        webSettings.setSavePassword(false);        webSettings.setSaveFormData(false);        webSettings.setJavaScriptEnabled(true);        webSettings.setSupportZoom(false);        mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");        mWebView.loadUrl("http://192.168.1.201:8080/java.html");    }    final class DemoJavaScriptInterface {        DemoJavaScriptInterface() {        }        /**         * This is not called on the UI thread. Post a runnable to invoke         * loadUrl on the UI thread.         */        public void clickOnAndroid() {            mHandler.post(new Runnable() {                public void run() {                   // mWebView.loadUrl("javascript:wave()");                Toast.makeText(getBaseContext(), "123", Toast.LENGTH_SHORT).show();                }            });        }    }    /**     * Provides a hook for calling "alert" from javascript. Useful for     * debugging your javascript.     */    final class MyWebChromeClient extends WebChromeClient {        @Override        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {            Log.d(LOG_TAG, message);            result.confirm();            return true;        }            }}

在html里调用写法如下:

 <a onClick="window.demo.clickOnAndroid()">click me</a>

更多相关文章

  1. Android之Handler的post注意事项
  2. 基于rk3288平台android5.1系统的wifi流程分析 ---- 打开wifi,扫描
  3. Android(安卓)源码分析-打电话和发短信
  4. Android仿硅谷商城实现购物车实例代码
  5. Android仿美团分类下拉菜单实例代码
  6. 笔记之Android(安卓)Bluetooth OOP 传送文件流程小记
  7. Android中TextClock中的一个abc函数
  8. Android(安卓)输入系统(二)EventHub
  9. Android(安卓)Audio 的播放

随机推荐

  1. Android 出错提示:Emulator without GPU e
  2. android横竖屏切换处理
  3. 实现ScrollView的嵌套
  4. android集成amazon的相关sdk
  5. Android(安卓)aidl学习笔记-服务端
  6. android开机过程
  7. Android加载SD卡目录,文件夹遍历,图片设置,
  8. Drawable资源——Scale Drawable 规模可
  9. Android滑动导航菜单的快速构建
  10. 谷歌发布Android Studio 1.0 正式版,其第