怎么在web工程的jsp页面的js中调用android工程的中的activity中的方法?

JavaScript016

怎么在web工程的jsp页面的js中调用android工程的中的activity中的方法?,第1张

通过webview打开jsp页面,然后与activity进行交互。

步骤

第一步:设置支持脚本

mWebView = (WebView) findViewById(R.id.webview)

WebSettings webSettings = mWebView.getSettings()

webSettings.setJavaScriptEnabled(true)//设置webview支持脚本

第二步:在activity中给webview增加js交互external接口demo

mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo")//增加js接口交互external别名demo

final class DemoJavaScriptInterface {

        DemoJavaScriptInterface() {

        }

        public void clickOnAndroid() {

        }

    }

第三步:js访问activity

<a onClick="window.demo.clickOnAndroid()">单击我访问activity的方法</a>

webview中js调用本地java方法,这个功能实现起来稍微有点麻烦,不过也不怎么复杂,首先要对webview绑定javascriptInterface,js脚本通过这个接口来调用java代码。

contentWebView.addJavascriptInterface(this, "wst")javainterface实际就是一个普通的java类,里面是我们本地实现的java代码, 将object 传递给webview,并指定别名,这样js脚本就可以通过我们给的这个别名来调用我们的方法,在上面的代码中,this是实例化的对象,wst是这个对象在js中的别名