Android의 여러 MIME 유형
intent.setType()
다양한 유형 (이미지 및 비디오 등) 을 사용 하고 제공 하는 방법이 있습니까?
나는 ACTION_GET_CONTENT
. 쉼표로 구분 된 유형으로 만 작동하는 것 같습니다.
Android 4.4에서는 Storage Access Framework 를 사용할 때 EXTRA_MIME_TYPES
를 사용하여 여러 MIME 유형을 전달할 수 있습니다.
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
String[] mimetypes = {"image/*", "video/*"};
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
startActivityForResult(intent, REQUEST_CODE_OPEN);
실제로 여러 MIME 유형이 지원됩니다. 당신은 그것을 시도 했습니까 ???
예 : intent.setType("image/*,video/*")
사진과 동영상을 표시합니다 ...
나를 위해 그것은 작동합니다. 그것은 당신에게도 효과가있을 것입니다 ...
[편집] : 일부 갤러리 앱이 여러 MIME 유형 필터에 대한 지원을 구현하도록 선택하는 것은 아니기 때문에 부분적으로 작동합니다.
나에게 가장 효과적인 것은 다음과 같습니다.
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
이와 같은 여러 MIME 유형을 추가 할 수 있습니다.
intent.setType("image/*|application/pdf|audio/*");
그러나 인 텐트 선택기는 MIME 유형 문자열에서 첫 번째이기 때문에 이미지를 처리 할 수있는 애플리케이션 만 표시합니다.
그러나 파일 관리자가 설치되어있는 경우 (CyanogenMod 파일 관리자로 테스트했습니다) 오디오 또는 pdf 또는 이미지 파일을 선택할 수 있습니다.
다음과 같이 오디오 MIME 유형이 첫 번째 유형 인 경우 :
intent.setType("audio/*|image/*|application/pdf");
의도 선택기는 오디오를 처리하는 응용 프로그램 만 표시합니다.
다시 파일 관리자를 사용하여 이미지, pdf 또는 오디오를 선택할 수 있습니다.
죄송합니다. 현재 지원되지 않습니다. 두 가지 옵션이 있습니다.
(1) MIME 유형을 사용 */*
하고 사용자가 선택할 수 있지만 처리 할 수없는 항목이있을 수 있음을 수락합니다 (그리고 적절한 복구 경로가 있음). 또는
(2) 패키지 관리자에서 직접 호출을 수행하여 의도에 대해 두 MIME 유형을 모두 처리 할 수있는 활동을 가져오고 이러한 목록을 병합하고 사용자에게 표시합니다.
또한 setType()
쉼표로 구분 된 유형에서는 전혀 작동하지 않습니다. 하나의 MIME 유형이어야합니다.
|로 분리하면 여러 MIME 유형을 전달할 수 있습니다.
Intent.setType("application/*|text/*");
세미콜론 작업을 위해.
예:
intent.setType("image/*;video/*")
또는
sIntent.putExtra("CONTENT_TYPE", "image/*;video/*");
참고 URL : https://stackoverflow.com/questions/1698050/multiple-mime-types-in-android
'program tip' 카테고리의 다른 글
iOS 10 / Xcode 8의 장치에서 NSLog가 잘리는 것처럼 보입니까? (0) | 2020.11.11 |
---|---|
응용 프로그램이 화면 방향 변경을 무시하도록하는 방법은 무엇입니까? (0) | 2020.11.11 |
어떤 Linux IPC 기술을 사용해야합니까? (0) | 2020.11.11 |
VS2010 프로젝트에 파일을 포함하여 빌드 또는 게시 중에 자동으로 빌드 출력 디렉토리에 복사하는 방법 (0) | 2020.11.11 |
점 구문 대신 문자열을 사용하여 Django 모델의 필드에 액세스 하시겠습니까? (0) | 2020.11.11 |