문제

따라서 사용자가 여기에 설명 된 방법을 사용하여 내 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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top