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

조회수 5161회

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

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

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

<input id="..." type="file"></input>
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

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

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

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

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)