2011-09-08 1 views
0

나는 내 질문과 비슷한 몇 가지 질문을 보았지만 아무도 내 질문에 답할 수 없습니다.자바와 자바 스크립트가 상호 작용하는 데 문제가 있습니다.

내 자산 폴더에 자바 스크립트가 있는데, WebView (또는 다른 방식으로 작동하는)를 사용하여 자바 객체를 바인드하여 내 서버가 내 js에 대한 업데이트를 보낼 수 있도록하고 싶습니다. js가 내 Java 객체를 호출합니다.

loadUrl() 및 loadDataWithBaseURL()을 시도했지만 작동하지 않는 것처럼 보입니다. 확인하도록 설정 한 후에 getURL()을 사용하면 항상 null이 반환됩니다. 다른 질문을보고 나면 경로를 올바르게 참조하고 있음을 알 수 있습니다 (또는 적어도 동일하다고 생각할 수도 있음).

js 파일을 포함하는 html 파일이 아니라 .js 파일이라는 점에 유의해야합니다. 그러나, 나는 그것이 작동하지 않는다고 말하는 것을 보지 못했습니다/나는 그것을해서는 안됩니다. 여기

내 코드를 설정하는 것입니다 : 내가 뭔가 잘못하고

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()은 보안 문제로 간주되어 실수로 잘못된 코드를 넣었 기 때문에 이런 식으로 loadURL()을 사용할 수 없다는 것을 알고 있습니다. 나는 그것을 편집 할 것이다 –

+0

나는이 전에 setContentView (int)를 호출한다. –

답변

관련 문제