我看過幾個類似於我的問題,但沒有一個似乎完全回答我的問題。有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) –