안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요ㅠ.ㅠ질문은 웹뷰에서 jsp 홈페이지를 불러왔습니다.
확인 버튼과 닫기 버튼이 실행되지 않습니다.
확인 버튼을 클릭해야 게시물이라던지 등등을 등록 할 수 있는 데요ㅠㅠ
닫기 버튼도 실행되지 않습니다.
일부입니다. 자바 스크립트에 관한건 웬만해서는 사용을 해봤는 데 안되네요ㅠㅠ
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mWeb = (WebView)findViewById(R.id.rtweb);
mWeb.setWebViewClient(new MyWebClient());
WebSettings set = mWeb.getSettings();
//set.setLoadsImagesAutomatically(true); //웹뷰가 앱에 등록되어 있는 이미지 리소스를 자동으로 로드하도록 설정
//set.setJavascriptCanOpenWindowsAutomatically(true); // 자바 스크립트가 window.open()을 할 수 있도록 설정
//set.setSupportMultipleWindows(true);//여러개의 윈도우를 사용할 수 있도록 설정
//set.setBuiltInZoomControls(true); //안드로이드에서 제공하는 줌아이콘을 사용할 수 있도록 설정
set.setJavascriptEnabled(true); //javascript 사용 가능하게 한다
set.setLoadWithOverviewMode(true);//화면이 로드 될때 화면에 꽉차게 로드 되어진다.
set.setUseWideViewPort(true);//확대된 상태에서 화면을 더블 클릭하면 화면에 꽉차게 변한다.
mWeb = (WebView)findViewById(R.id.rtweb);
mWeb.setWebViewClient(new MyWebClient());
WebSettings set = mWeb.getSettings();
//set.setLoadsImagesAutomatically(true); //웹뷰가 앱에 등록되어 있는 이미지 리소스를 자동으로 로드하도록 설정
//set.setJavascriptCanOpenWindowsAutomatically(true); // 자바 스크립트가 window.open()을 할 수 있도록 설정
//set.setSupportMultipleWindows(true);//여러개의 윈도우를 사용할 수 있도록 설정
//set.setBuiltInZoomControls(true); //안드로이드에서 제공하는 줌아이콘을 사용할 수 있도록 설정
set.setJavascriptEnabled(true); //javascript 사용 가능하게 한다
set.setLoadWithOverviewMode(true);//화면이 로드 될때 화면에 꽉차게 로드 되어진다.
set.setUseWideViewPort(true);//확대된 상태에서 화면을 더블 클릭하면 화면에 꽉차게 변한다.




jsp 웹페이지에서 확인, 닫기 눌렀는데 실행이 안된다는 이야기맞나요??
위에 써주신 셋팅만으로는 안됩니다.
JavaScriptInterface 클래스를 구현해야 되요. 예제를 찾아보시면 간단한 예제가 많이 있습니다.
간단히 예를 들면
final JavaScriptInterface javaScriptInterface = new JavaScriptInterface(this);
webView.addJavascriptInterface(javaScriptInterface, "AndroidFunction");
이렇게 설정하고 JavaScriptInterface를 이너 클래스로 구현하시면 되요
jsp 웹페이지에는
AndroidFunction.confirm() 함수를 버튼에 자바스크립트 onclick 등록하시던지 해서 호출하고 다시 JavaScriptInterface 클래스안에
confirm() 함수를 구현하시면 호출될 겁니다.
대충 감이 오시나요?? 예제 한번 보시면 금방 이해하실거에요~