Android 1.5 +에서 비디오 및 사진에 액세스합니다
-
16-09-2019 - |
문제
따라서 사용자가 여기에 설명 된 방법을 사용하여 내 Android 응용 프로그램으로 특정 미디어를 선택할 수 있도록 노력하고 있습니다.내 Android 앱의 Pictures 앱에서 사진에 액세스하십시오
그것은 동시에 동시에가 아니라 사용자에게 제시하기 위해 비디오 나 사진 중 하나만 선택할 수 있다는 사실을 제외하고는 훌륭하게 작동합니다. 이 작업을 수행하는 좋은 방법이 있습니까?
startActivityForResult (new intent (intent.action_pick, android.provider.mediastore.images.media.internal_content_uri), select_image);
감사!
해결책
나는 이것을 여러 번 사용했습니다. 가장 좋은 방법은 다음과 같습니다.
Intent mediaChooser = new Intent(Intent.ACTION_GET_CONTENT);
//comma-separated MIME types
mediaChooser.setType("video/*, images/*");
startActivityForResult(mediaChooser, 1);
이것이 완벽하게 정확하지 않더라도 내가 사용한 모든 것에서 잘 작동했습니다. 사용자 갤러리의 모든 사진/비디오의 축소판 목록으로 갤러리 같은 활동을 열 것입니다. 반환 된 의도 onActivityResult()
선택한 미디어에 대한 컨텐츠 : // uri가 될 "데이터"라는 추가가 있습니다.
편집 : 죄송합니다. 실제로 전화하려는 선택한 미디어에 URI를 가져 오려면 getData () OnactivityResult ()로 전달되는 의도에 따라
다른 팁
Kivy- 가장 쉬운 방법은 미디어를 선택하고 비디오로 제한하는 의도를 만드는 것입니다.
Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT);
pickMedia.setType("video/*");
startActivityForResult(pickMedia,12345);
참고 -12345는 앱이 요청 콜백에서 청취 해야하는 정수입니다.
그런 다음 해당 의도에서 정보를 다시 전송하는 동일한 활동을 듣고 있습니다.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12345) {
if (resultCode == Activity.RESULT_OK) {
Uri selectedVideoLocation = data.getData();
// Do something with the data...
}
}
}
시원한?
intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);
이 시도
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 101);