ContentProvider.OpenFile 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
OpenFile(Uri, String) |
파일 Blob을 여는 요청을 처리하도록 재정의합니다. |
OpenFile(Uri, String, CancellationSignal) |
파일 Blob을 여는 요청을 처리하도록 재정의합니다. |
OpenFile(Uri, String)
파일 Blob을 여는 요청을 처리하도록 재정의합니다.
[Android.Runtime.Register("openFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;", "GetOpenFile_Landroid_net_Uri_Ljava_lang_String_Handler")]
public virtual Android.OS.ParcelFileDescriptor? OpenFile (Android.Net.Uri uri, string mode);
[<Android.Runtime.Register("openFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;", "GetOpenFile_Landroid_net_Uri_Ljava_lang_String_Handler")>]
abstract member OpenFile : Android.Net.Uri * string -> Android.OS.ParcelFileDescriptor
override this.OpenFile : Android.Net.Uri * string -> Android.OS.ParcelFileDescriptor
매개 변수
- uri
- Uri
파일을 열 URI입니다.
- mode
- String
파일 모드의 문자열 표현입니다. "r", "w", "wt", "wa", "rw" 또는 "rwt"일 수 있습니다. 이러한 구현의 정확한 구현은 각 공급자 구현에 따라 다를 수 있습니다. 예를 들어 "w"는 잘리거나 잘리지 않을 수 있습니다.
반환
파일에 액세스하는 데 사용할 수 있는 새 ParcelFileDescriptor를 반환합니다.
- 특성
예외
지정된 URI와 연결된 파일이 없거나 모드가 잘못된 경우 FileNotFoundException을 throw합니다.
호출자에게 파일에 액세스할 수 있는 권한이 없는 경우 SecurityException을 throw합니다.
설명
파일 Blob을 여는 요청을 처리하도록 재정의합니다. 기본 구현은 항상 throw됩니다.FileNotFoundException
프로세스 및 스레드에 설명된 대로 여러 스레드에서 이 메서드를 호출할 수 있습니다.
이 메서드는 호출자에게 직접 반환되는 ParcelFileDescriptor를 반환합니다. 이렇게 하면 콘텐츠를 복사하지 않고도 큰 데이터(예: 이미지 및 문서)를 반환할 수 있습니다.
반환된 ParcelFileDescriptor는 호출자가 소유하므로 완료되면 닫아야 합니다. 즉, 이 메서드의 구현은 각 호출에 대해 새 ParcelFileDescriptor를 만들어야 합니다.
배타적인 "r" 또는 "w" 모드로 열면 반환된 ParcelFileDescriptor는 파이프 또는 소켓 쌍이 되어 데이터 스트리밍을 사용하도록 설정할 수 있습니다. "rw" 또는 "rwt" 모드로 여는 것은 검색을 지원하는 디스크의 파일을 의미합니다.
반환된 ParcelFileDescriptor가 닫혔거나 원격 프로세스가 충돌하거나 다른 오류가 발생한 경우 검색해야 하는 경우 사용ParcelFileDescriptor#open(File, int, android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener)
ParcelFileDescriptor#createReliablePipe()
하거나 ParcelFileDescriptor#createReliableSocketPair()
사용할 수 있습니다.
네트워크 공유 또는 클라우드 스토리지 서비스의 파일과 같이 디스크의 실제 파일에서 지원되지 않는 큰 파일을 반환해야 하는 경우 필요에 따라 콘텐츠를 스트리밍할 수 있는 파일을 사용하는 StorageManager#openProxyFileDescriptor(int, android.os.ProxyFileDescriptorCallback, android.os.Handler)
것이 좋습니다.
<p class="note">의도에서 사용하기 위해 동일한 URI를 사용하여 여기에 반환된 데이터에 적절한 MIME 형식을 반환하도록 구현 #getType
하려고 합니다. 이렇게 하면 의도 확인에서 데이터 MIME 형식을 자동으로 결정하고 작업의 일부로 적절한 일치 대상을 선택할 수 있습니다.
<p class="note">다른 애플리케이션과의 상호 운용성을 향상하려면 열 수 있는 모든 URI에 대해 지정된 열 android.provider.OpenableColumns
이상을 포함하는 쿼리도 지원하는 것이 좋습니다. 입력과 같이 android.provider.MediaStore.MediaColumns#DATE_ADDED
android.provider.MediaStore.MediaColumns
제공할 추가 메타 데이터가 있는 경우 다른 공통 열을 지원할 수도 있습니다.</p>
에 대한 android.content.ContentProvider.openFile(android.net.Uri, java.lang.String)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
추가 정보
- <xref:Android.Content.ContentProvider.OpenAssetFile(Android.Net.Uri%2c+System.String)>
- <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
- GetType(Uri)
- ParseMode(String)
적용 대상
OpenFile(Uri, String, CancellationSignal)
파일 Blob을 여는 요청을 처리하도록 재정의합니다.
[Android.Runtime.Register("openFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;", "GetOpenFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")]
public virtual Android.OS.ParcelFileDescriptor? OpenFile (Android.Net.Uri uri, string mode, Android.OS.CancellationSignal? signal);
[<Android.Runtime.Register("openFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;", "GetOpenFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")>]
abstract member OpenFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.OS.ParcelFileDescriptor
override this.OpenFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.OS.ParcelFileDescriptor
매개 변수
- uri
- Uri
파일을 열 URI입니다.
- mode
- String
파일 모드의 문자열 표현입니다. "r", "w", "wt", "wa", "rw" 또는 "rwt"일 수 있습니다. 이러한 구현의 정확한 구현은 각 공급자 구현에 따라 다를 수 있습니다. 예를 들어 "w"는 잘리거나 잘리지 않을 수 있습니다.
- signal
- CancellationSignal
진행 중인 null
작업을 취소하거나 없는 경우 취소하는 신호입니다. 예를 들어 네트워크에서 파일을 다운로드하여 "rw" 모드 요청을 서비스하는 경우 주기적으로 호출 CancellationSignal#throwIfCanceled()
하여 클라이언트가 요청을 취소했는지 확인하고 다운로드를 중단해야 합니다.
반환
파일에 액세스하는 데 사용할 수 있는 새 ParcelFileDescriptor를 반환합니다.
- 특성
예외
지정된 URI와 연결된 파일이 없거나 모드가 잘못된 경우 FileNotFoundException을 throw합니다.
호출자에게 파일에 액세스할 수 있는 권한이 없는 경우 SecurityException을 throw합니다.
설명
파일 Blob을 여는 요청을 처리하도록 재정의합니다. 기본 구현은 항상 throw됩니다.FileNotFoundException
프로세스 및 스레드에 설명된 대로 여러 스레드에서 이 메서드를 호출할 수 있습니다.
이 메서드는 호출자에게 직접 반환되는 ParcelFileDescriptor를 반환합니다. 이렇게 하면 콘텐츠를 복사하지 않고도 큰 데이터(예: 이미지 및 문서)를 반환할 수 있습니다.
반환된 ParcelFileDescriptor는 호출자가 소유하므로 완료되면 닫아야 합니다. 즉, 이 메서드의 구현은 각 호출에 대해 새 ParcelFileDescriptor를 만들어야 합니다.
배타적인 "r" 또는 "w" 모드로 열면 반환된 ParcelFileDescriptor는 파이프 또는 소켓 쌍이 되어 데이터 스트리밍을 사용하도록 설정할 수 있습니다. "rw" 또는 "rwt" 모드로 여는 것은 검색을 지원하는 디스크의 파일을 의미합니다.
반환된 ParcelFileDescriptor가 닫혔거나 원격 프로세스가 충돌하거나 다른 오류가 발생한 경우 검색해야 하는 경우 사용ParcelFileDescriptor#open(File, int, android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener)
ParcelFileDescriptor#createReliablePipe()
하거나 ParcelFileDescriptor#createReliableSocketPair()
사용할 수 있습니다.
<p class="note">의도에서 사용하기 위해 동일한 URI를 사용하여 여기에 반환된 데이터에 적절한 MIME 형식을 반환하도록 구현 #getType
하려고 합니다. 이렇게 하면 의도 확인에서 데이터 MIME 형식을 자동으로 결정하고 작업의 일부로 적절한 일치 대상을 선택할 수 있습니다.
<p class="note">다른 애플리케이션과의 상호 운용성을 향상하려면 열 수 있는 모든 URI에 대해 지정된 열 android.provider.OpenableColumns
이상을 포함하는 쿼리도 지원하는 것이 좋습니다. 입력과 같이 android.provider.MediaStore.MediaColumns#DATE_ADDED
android.provider.MediaStore.MediaColumns
제공할 추가 메타 데이터가 있는 경우 다른 공통 열을 지원할 수도 있습니다.</p>
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
추가 정보
- <xref:Android.Content.ContentProvider.OpenAssetFile(Android.Net.Uri%2c+System.String)>
- <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
- GetType(Uri)
- ParseMode(String)