2011-09-08 35 views
0

我看过几个类似于我的问题,但没有一个似乎完全回答我的问题。有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()错误(在注释行中我的代码是它在哪里),我期待成的时刻。帮助这个还是赞赏

+0

你在哪里调用'setContentView(int)'? –

+0

我知道你不能用这种方式使用loadURL(),因为它被认为是一个安全问题,而且我不小心放错了代码。我将编辑 –

+0

在此之前我调用了setContentView(int) –

回答