2017-05-29 32 views
1

我使用圖庫從手機中選擇視頻和圖像並將它們加載到應用程序。 我使用代碼:視頻無法在android中選擇

Intent photoPickerIntent = null; 
if (Build.VERSION.SDK_INT < 19) { 
    photoPickerIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    photoPickerIntent.setType("image/* video/*"); 
} else { 
    photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT); 
    photoPickerIntent.setType("image/* video/*"); 
} 

一切正常,但是當我在內部存儲/ DCIM去,我可以選擇僅適用於圖像。視頻文件是灰色的,我不能選擇它們。有任何想法嗎?

+0

你沒有得到的視頻,如果使用SDK小於19 – Ibrahim

+0

我有這個問題在Android 5.0.1 – edi233

回答

0

這段代碼解決我的問題:

if (Build.VERSION.SDK_INT < 19) { 
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    intent.setType("image/* video/*"); 
    startActivityForResult(Intent.createChooser(intent, getResources().getString(R.string.select_picture)), SELECT_GALLERY); 
} else { 
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); 
    intent.addCategory(Intent.CATEGORY_OPENABLE); 
    intent.setType("image/*"); 
    intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[] {"image/*", "video/*"}); 
    startActivityForResult(intent, SELECT_GALLERY_KITKAT); 
} 

這一行:

intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[] {"image/*", "video/*"}); 
0

試試這個代碼

private static final int VIDEO_GALLERY_REQUEST = 2; 
Uri video_uri; 

addVideoButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT); 
      galleryIntent.setType("video/"); 
      startActivityForResult(galleryIntent,VIDEO_GALLERY_REQUEST); 
     } 
    }); 
@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if(requestCode == VIDEO_GALLERY_REQUEST && resultCode == -1){ 
     video_uri = data.getData(); 

    } 
} 
0

開始意圖:

Intent pickIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
pickIntent.setType("image/* video/*"); 
startActivityForResult(pickIntent, IMAGE_PICKER_SELECT); 

查一下視頻和圖片:

public void onActivityResult(int requestCode, int resultCode, Intent data) { 

if (resultCode == RESULT_OK) { 
    Uri selectedMediaUri = data.getData(); 

    if (selectedMediaUri.toString().contains("images")) { 
     //Your image 
    } else if (selectedMediaUri.toString().contains("video")) { 
     //Your video 
    } 
}