파일 공유
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
앱에서 하나 이상의 파일을 다른 앱에 제공해야 하는 경우가 많습니다. 예를 들어 이미지 갤러리에서는 이미지 편집기에 파일을 제공하거나, 파일 관리 앱에서 사용자가 외부 저장소 영역 간에 파일을 복사하여 붙여넣을 수 있도록 허용하려고 할 수 있습니다. 전송 앱이 파일을 공유할 수 있는 한 가지 방법은 수신 앱의 요청에 응답하는 것입니다.
모든 경우에 앱에서 다른 앱으로 파일을 안전하게 제공하는 유일한 방법은 수신 앱에 파일의 콘텐츠 URI를 보내고 이 URI에 임시 액세스 권한을 부여하는 것입니다.
임시 URI 액세스 권한이 있는 콘텐츠 URI는 URI를 수신하는 앱에만 적용되고 자동으로 만료되므로 안전합니다. Android FileProvider
구성요소는 파일의 콘텐츠 URI를 생성하는 getUriForFile()
메서드를 제공합니다.
앱 간에 소량의 텍스트 또는 숫자 데이터를 공유하려면 데이터가 포함된 Intent
를 전송해야 합니다. Intent
를 사용하여 간단한 데이터를 보내는 방법을 알아보려면 간단한 데이터 공유 학습 과정을 참조하세요.
이 클래스에서는 Android FileProvider
구성요소에서 생성된 콘텐츠 URI 및 개발자가 콘텐츠 URI와 관련해 수신 앱에 부여하는 임시 권한을 사용하여 앱에서 다른 앱으로 파일을 안전하게 공유하는 방법을 설명합니다.
과정
- 파일 공유 설정
-
파일을 공유하도록 앱을 설정하는 방법을 알아보세요.
- 파일 공유
- 파일의 콘텐츠 URI를 생성하고 URI 액세스 권한을 부여하며 URI를 앱에 전송하여 다른 앱에 파일을 제공하는 방법을 알아봅니다.
- 공유 파일 요청
- 다른 앱에서 공유한 파일을 요청하고, 파일의 콘텐츠 URI를 수신하고, 콘텐츠 URI를 사용하여 파일을 여는 방법을 알아봅니다.
-
파일 정보 가져오기
- 앱이
FileProvider
에서 생성된 콘텐츠 URI를 사용하여 MIME 유형, 파일 크기 등 파일 정보를 검색하는 방법을 알아봅니다.
추가 관련 정보는 다음을 참조하세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2024-02-15(UTC)
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"필요한 정보가 없음"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"너무 복잡함/단계 수가 너무 많음"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"오래됨"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"번역 문제"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"샘플/코드 문제"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"기타"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"이해하기 쉬움"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"문제가 해결됨"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"기타"
}]
{"lastModified": "\ucd5c\uc885 \uc5c5\ub370\uc774\ud2b8: 2024-02-15(UTC)"}
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-02-15(UTC)"]]