我看过几个类似于我的问题,但没有一个似乎完全回答我的问题。有java和javascript交互的麻烦
我在我的资产文件夹中有一些javascript,我想使用WebView(或任何其他工作方式)将java对象绑定到它,以便我的服务器可以将更新发送给我的js,然后让我的JS调用我的Java对象。我已经尝试loadUrl()和loadDataWithBaseURL(),似乎都没有工作,我使用getURL()后设置它来检查它,它总是返回null。看过其他问题后,我可以告诉我正确引用了路径(或至少与它们相同)。
我应该注意到它是一个.js文件,而不是一个带有js的html文件。但是,我没有看到任何说不起作用的东西/我不应该那样做。
这里是我的代码来设置它:
interacter = (WebView) findViewById(R.id.interact);
interacter.getSettings().setJavaScriptEnabled(true);
interacter.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
interacter.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
interacter.setClickable(true);
interacter.addJavascriptInterface(game, "Android");
//loadDataWithBaseURL was here
Log.i("Path is", interacter.getUrl() +" ");
上午我做错了什么,有没有更好的办法做到这一点,这是否即使工作?
编辑
我注意到使用loadDataWithBaseURL()错误(在注释行中我的代码是它在哪里),我期待成的时刻。帮助这个还是赞赏
你在哪里调用'setContentView(int)'? –
我知道你不能用这种方式使用loadURL(),因为它被认为是一个安全问题,而且我不小心放错了代码。我将编辑 –
在此之前我调用了setContentView(int) –