아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
헤이딜러 favicon헤이딜러

WebView 파일 선택, onShowFileChooser로 쉽게 구현하세요!

by DD
2023-03-30
3년 전
조회수 9

WebView에서 파일 선택 시, 기본 기능 부재로 onShowFileChooser()를 활용해야 함

Intent를 사용하여 시스템 FileChooser를 호출하고, 파일 선택 결과를 처리함

권한 처리를 위해 FLAG_GRANT_READ_URI_PERMISSION을 설정하여 파일 접근 권한을 부여함

onShowFileChooser() 동작 원리

onShowFileChooser()는 WebView 내 파일 선택 요청 시 호출되는 콜백 함수이다. 구체적으로, HTML <input type="file"> 태그 클릭 시 안드로이드 시스템이 해당 함수를 호출한다. 따라서, 이 함수를 오버라이드하여 파일 선택 Intent를 실행하고, 결과를 처리해야 한다.

단일/복수 파일 선택 구현 비교

단일 파일 선택은 Intent.data를 통해 선택된 파일의 URI를 반환한다. 반면, 복수 파일 선택은 Intent.clipData를 통해 여러 파일의 URI 목록을 전달한다. 따라서, FileChooserParams의 MODE_OPEN_MULTIPLE 여부에 따라 다른 방식으로 데이터를 처리해야 한다.

권한 관리 및 보안 고려사항

파일 선택 후, 파일 접근을 위해 FLAG_GRANT_READ_URI_PERMISSION 권한을 부여해야 한다. 구체적으로, takePersistableUriPermission() 함수를 사용하여 권한을 영구적으로 획득한다. 따라서, content URI에 대한 접근 권한 관리는 데이터 무결성 및 보안을 위해 매우 중요하다.

웹에서 파일 선택하기: onShowFileChooser()를 이용한 단일 및 복수 파일 선택 방법
중급
아키텍처
WebView
Android
Intent
Kotlin
Frontend
Mobile
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

Kotlin Coroutine으로 안드로이드 앱 동시성 문제 해결!

데브시스터즈 로고

뱅크샐러드 Android 팀의 모든 것!

뱅크샐러드 로고

Gemma 4 기반 ADHD 앱 Vestige: 당신의 뇌를 추적합니다.

데브투 로고

Skip, Swift/SwiftUI 기반 크로스 플랫폼 개발 도구, 오픈 소스 전환!

해커뉴스 로고

SK ICT 개발자들의 기술 공유 플랫폼, 최신 블로그 소식!

SK플래닛 로고

Android CLI 출시, AI 에이전트 기반 앱 개발을 3배 빠르게!

해커뉴스 로고
헤이딜러 favicon헤이딜러
중급
아키텍처
WebView
Android
Intent
Kotlin
Frontend
Mobile

관련 추천 글

Kotlin Coroutine으로 안드로이드 앱 동시성 문제 해결!

데브시스터즈 로고

뱅크샐러드 Android 팀의 모든 것!

뱅크샐러드 로고

Gemma 4 기반 ADHD 앱 Vestige: 당신의 뇌를 추적합니다.

데브투 로고