안드로이드 웹뷰에서 이미지 파일에 접근이 안됩니다.


간단한 웹사이트와 안드로이드 어플리케이션을 만들고있습니다.

안드로이드 웹뷰를 통해 웹사이트에 접속 후, 사진을 등록해야 하는데요. 컴퓨터 브라우저로 웹사이트에 접속하면 파일창이 뜨는데 안드로이드 웹뷰에서는 파일 창이 뜨질 않습니다.

어떻게 하면 웹뷰에서도 파일에 접근할 수 있을까요? 웹사이트는 파일에 접근하기 위해 다음과 같은 코드를 쓰고 있습니다

<input id="..." type="file"></input>
  • 2016년 05월 23일에 작성됨
    시원한 날만 일하자

조회수 499


1 답변


좋아요
3
싫어요
채택취소하기

안드로이드 웹뷰에서 파일 다이얼로그를 띄우기 위해서는 버전별 처리가 필요하기 때문에 약간의 hacky 코드가 필요합니다. 기본적인 처리는 WebChromeClient의 openFileChooser와 onShowFileChooser(Android > 5.0) 함수를 오버라이드해 파일 다이얼로그를 띄우는 코드를 작성하는 것입니다. 자세한 코드는 다음 링크에 잘 설명되어 있는 것 같아서 링크로 대체하겠습니다.

그리고 해당 블로그에서는 안드로이드 4.2에서 동작하지 않는다고 작성되어 있는데 제 기억이 맞다면 4.4 킷캣에서 동작하지 않습니다. (아래 링크 참고하세요)

덧붙여 안드로이드 4.4에서도 방법이 없지는 않습니다. 이 방식이 웹페이지에 커스텀 Js 객체를 주입하는 방식이기 때문에 웹페이지 소스코드를 직접 관리한다면 처리가 가능하지만 그렇지 않은 경우는 Known-issue로 처리하는 것이 정신건강에 좋습니다 :)


  • 고맙습니다. 정말 도움이 많이됐어요~    Demi   2016.5.24 16:05     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close