OnCreate 부분에
web_view.getSettings().setJavaScriptEnabled(true);
web_view.addJavascriptInterface(new MyJavascriptInterface(), "HTMLOUT");
web_view.setWebViewClient(mWebViewClient);
web_view.loadUrl("http://gall.dcinside.com");
이런식으로 처리 해주었구요..
웹페이지 로딩 되었을때
WebViewClient mWebViewClient = new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url){
Log.i("TRACE","onPageFinished");
web_view.loadUrl("[removed]window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0][removed]+'</head>');");
}
}
이렇게 만들어주었습니다.
자바인터페이스는
public class MyJavascriptInterface {
public void showHTML(String html) {
Log.i("TRACE","showHTML");
new AlertDialog.Builder(ctx).setTitle("HTML").setMessage(html)
.setPositiveButton(android.R.string.ok, null).setCancelable(false).create().show();
}
}
이런식으로 처리했습니다.
onPageFinished 는 호출이 되는데..
밑에 showHTML가 호출이 안되네요.ㅠ.ㅠ
문제가 뭔지 파악이 잘 안되네요..
굳이 소스가 필요하신다면 오라클의 httpclient클래스로 요청하시는건 어떨까요?
근데 문제가 뭐냐면.ㅠ.ㅠ 그렇게 하면 .. 그냥 url 던져서 받아오는거라 로그인이 필요한 부분은 세션이 유지가 안되어서 로그인페이지 소스가 나오네요 ㅠㅠ
http://ideone.com/f7LM0H
일단 되긴 하게 만들어봤는데요, 좀 많이 느리지만 되긴하네요!
Form.MessageBox는 alertdialog 비슷하게 제가 만든거라서 굳이 소스를 알려드리지 않아도 되겠죠?
고맙습니다.흠..이게 동작을 하나요.ㅠ.ㅠ 혹시 핸드폰 기종의 문제인가요 ㅠㅠ제꺼에서는 잘 안되더라구요.ㅠ.ㅠ 핸드폰 웹브라우져에서 뭐 설정을 따로 해줘야 하는게 있는지..혹은 퍼미션중에 인터넷 말고 다른게 필요한가요,ㅠ
지금 제가 테스트하고 있는기종은 4.3이고 갤럭시S4입니다..에구구ㅠㅠ 윗분이 해준데로 하면 이 아니라 제가 기존부터 하다보면 자꾸 에러 메시지 중에서 Uncaught TypeError: Object [object Object] has no method 'test1':1 이런식이 자꾸 나오네요
오호 자답이에요. @JavascriptInterface 젤리빈이후로 자바스크립트 쓰는 부분은 이걸 써줘야 동작을 한다네요 우왕 ㅋ