Android 从图库中选取视频文件在 Nexus 5 中不起作用
Android Pick Video files From Gallery not Working in Nexus 5
在我的应用程序中,我需要将图片和视频从图库发送到服务器,我使用了以下代码从图库中挑选图片和视频。它在非棒棒糖版本的设备上运行良好。
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/* video/*");
startActivityForResult(photoPickerIntent,REQUEST_CODE_GALLERY_FILES);
并且在 onActivityresult 中,
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent returnedIntent) {
super.onActivityResult(requestCode, resultCode, returnedIntent);
if (returnedIntent == null) return;
switch (requestCode) {
case REQUEST_CODE_GALLERY_FILES:
Uri uri = returnedIntent.getData();
break;
}
}
但在 Nexus 5 之类的设备中它只显示图像,视频不显示在列表中。由于 Lollipop 中没有 Gallery。
我怎样才能从画廊或棒棒糖设备的任何地方获取视频文件。
试试这个方法。
private void pickImageOrVideo() {
if (Build.VERSION.SDK_INT < 19) {
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/* video/*");
startActivityForResult(photoPickerIntent,REQUEST_CODE_GALLERY_FILES);
} else {
Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
photoPickerIntent.setType("*/*");
startActivityForResult(photoPickerIntent, REQUEST_CODE_GALLERY_FILES);
}
}
对于图像和视频,如果设备是 运行 棒棒糖,您可以使用 setType(*/*);
。
此处 ACTION_GET_CONTENT
仅提供画廊选择,而 ACTION_PICK
提供更多选项以从不同的操作中选择图像和视频,
希望对您有所帮助!
添加 intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[] {"image/*", "video/*"});
到 SDK20+ 启动,以及主要类型。
在我的应用程序中,我需要将图片和视频从图库发送到服务器,我使用了以下代码从图库中挑选图片和视频。它在非棒棒糖版本的设备上运行良好。
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/* video/*");
startActivityForResult(photoPickerIntent,REQUEST_CODE_GALLERY_FILES);
并且在 onActivityresult 中,
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent returnedIntent) {
super.onActivityResult(requestCode, resultCode, returnedIntent);
if (returnedIntent == null) return;
switch (requestCode) {
case REQUEST_CODE_GALLERY_FILES:
Uri uri = returnedIntent.getData();
break;
}
}
但在 Nexus 5 之类的设备中它只显示图像,视频不显示在列表中。由于 Lollipop 中没有 Gallery。 我怎样才能从画廊或棒棒糖设备的任何地方获取视频文件。
试试这个方法。
private void pickImageOrVideo() {
if (Build.VERSION.SDK_INT < 19) {
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/* video/*");
startActivityForResult(photoPickerIntent,REQUEST_CODE_GALLERY_FILES);
} else {
Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
photoPickerIntent.setType("*/*");
startActivityForResult(photoPickerIntent, REQUEST_CODE_GALLERY_FILES);
}
}
对于图像和视频,如果设备是 运行 棒棒糖,您可以使用 setType(*/*);
。
此处 ACTION_GET_CONTENT
仅提供画廊选择,而 ACTION_PICK
提供更多选项以从不同的操作中选择图像和视频,
希望对您有所帮助!
添加 intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[] {"image/*", "video/*"});
到 SDK20+ 启动,以及主要类型。