android到javascript之间的接口?

时间:2012-09-29 14:15:52

标签: javascript android interface webview

我正在开发一个应用程序,我需要从javascript向android本机发送一个方法请求,并需要在本机端实现代码。 我的javascript文件包含。

 function _CBSubscribeForNative( eventName, Message, Data ) {
            try {                                                  
               Android.CallFromJavaScript(eventName,Message.data);                    
               }//...

在Main.java文件中,我使用以下代码。

 {
    WebView wv = (WebView)  findViewById(R.id.webView1);        
    WebSettings webset = wv.getSettings();        
    webset.setJavaScriptEnabled(true);   
    wv.loadUrl("file:///android_asset/DocApt/DocApt/DocAptApp/72/index.html");
    wv.addJavascriptInterface(new AndroidBridge(), "Android");
   }//oncreate

  private class AndroidBridge {
    @SuppressWarnings("unused")
    public void CallFromJavaScript(final String arg , final String arg1) {
        System.out.println("222222222");
    handler.post(new Runnable() {
    public void run() {
        String requestfrmjs = arg.toString();
        Toast.makeText(getApplicationContext(), "received request is " + requestfrmjs, Toast.LENGTH_SHORT).show();
    }       
    });
    }
    }

根据我的代码,我无法举杯。我的代码有什么问题吗?

任何人都可以帮我这个..

1 个答案:

答案 0 :(得分:2)

第二个参数是您将在javascript上下文中访问第一个参数中传递的对象的名称。

所以是的,如果你想从javascript代码中调用该对象的某些方法或属性,你将需要稍后使用该名称。

请参阅addJavascriptInterface()的文档。