html 에서 아래와같은 태그를 안드로이드 웹뷰에서 사용하고자 한다.


파일 업로드창을 띄워야 하는데 문제는 기존 안드로이드 webview 에서는 공식적으로는 지원하지 않는다는 것이다.
대신 아래와같은 꼼수가 있다.

먼저 아래와같이 webview  에 WebChromeClient 를 셋팅한다.

여기서 중요한점은 @Override 를 쓰면 오류난다는 것이다.
왜냐하면 openFileChooser 메소드는 프레임웍에서 @hidden 처리되어있기때문에 sdk 에서 보이지 않기 때문이다.
하여튼 인앱브라우저에서 파일첨부를 하려고하면 저 메소드가 자동으로 호출되게 된다.

우리가 할일은 위 코드처럼 file chooser 를 열어주고 결과를 uploadMsg 로 다시 돌려주면 된다.
코드는 아래와 같다.


이건 왜 @hidden 처리해놨는지 의문이다.



 
by cranix 2012. 2. 29. 15:51