• [잡담] 안드로이드 개발 하시는 분 ~~2012.11.28 PM 09:20

게시물 주소 FONT글자 작게하기 글자 키우기

그냥 웹뷰나 띄워서 간단한 앱 만들고 있는데요.

스크립트 alert 때문에

webView.setWebChromeClient(new ChromeClient() {});

이걸로 재정의를 해야 한다고 하더군요.

그런데 저것만 넣으면 이클립스에서 에러를 뿜는데

외국 사이트까지 뒤져보니 2.1 버전까지만 지원하는 메소드라고 하던데요.


이걸 대체할 수 있는 방법은 없나요 ? 검색해도 딱히 다른 메소드로 만든건 안보이고.

아니면 프로젝트 설정시 2.1 버전으로 만들어야 하나요 ?

댓글 : 3 개
음... 그거 아마 프로젝트 오른쪽클릭해서

android tools - > clear lint markers 하면 임시적으로 작동시킬수 있습니다.

하지만 디버깅 할때마다 이 작업 해야 되니..... 최신 버전의 메소드를 사용하는게 좋습니다...


아 한가지 방법이 더 있는데

android manifest 에서 android:minSdkVersion 을 현재 버전으로 맞추거나
android:target....뭐시기를 현재 버전으로 맞추면 해결 됩니다~~~

안될수도 잇어요~~~~ 바로 제가 안된 케이스라서 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
2.2 버전 이상에서도 되던 방법입니다.
이렇게 하시면 웹에서 나오는 alert의 메세지를 받아낼 수 있습니다.
onJsAlert()에서 alert내용을 읽어낸후 안드로이드의 토스트나 Dialog로 메세지를 띄우시면 됩니다.ㅋ

webView.setWebChromeClient(new ProxyWebChromeClient());


public class ProxyWebChromeClient extends WebChromeClient {
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
Log.e("Lee", "message = " + message);

result.confirm();
return true;
}
}
아흑... 임포트 문제였네요. T_T
친구글 비밀글 댓글 쓰기