调用android本机代码时,JavaScript显示错误

时间:2016-06-01 13:15:49

标签: javascript android

我正在使用以下代码。

Android代码

myBrowser.getSettings().setJavaScriptEnabled(true);
myBrowser.loadUrl("file:///android_asset/mypage.html");
myBrowser.setWebViewClient(new WebViewClient());
myBrowser.addJavascriptInterface(new MyJavaScriptInterface(MainActivity.this), "MyJavaScriptInterface");

public class MyJavaScriptInterface {
        MainActivity mContext;

        MyJavaScriptInterface(MainActivity c) {
            mContext = c;
        }

        public void showToast(String toast)throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException{
            Log.e("inside","showtoast of myjavascript interface");
            Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
        }
    }

JavaScript代码

<input type="button" value="Open Dialog" onClick="checkWindow()"/>
<script language="javascript">

   function checkWindow(){
      console.log("andriod obj"+window.MyJavaScriptInterface);
        if(window.MyJavaScriptInterface){
            console.log("andriod in methd"+window.MyJavaScriptInterface);
            window.MyJavaScriptInterface.showToast('Hii...');
        }
   }
</script>

当我点击打开对话框按钮时,我收到错误为"Uncaught TypeError: window.MyJavaScriptInterface.showToast is not a function",

请告诉我我错过了什么

0 个答案:

没有答案