从“图库”中选择视频时,会在开始上传到Firebase之前创建一个黑屏(黑屏)。上传成功,但是黑屏会冻结该应用程序。 这是我的代码。
Intent intent = new Intent(Intent.ACTION_GET_CONTENT, MediaStore.Video.Media.INTERNAL_CONTENT_URI);
intent.setType("video/*");
startActivityForResult(intent, RequestCodeForVideoPick);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RequestCodeForVideoPick && resultCode == Activity.RESULT_OK) {
if (data == null) {
//Display an error
return;
}
final Uri resultUri = data.getData();
uploadTask = filePath.putFile(resultUri);
//filePath firestorepath
...............
...............
}
似乎与文件大小有关。我正在尝试的视频是7.5 MB。因为当我选择具有类似代码的图像时。我没有看到任何错误。
我尝试使用createChooser。我得到相同的结果。
startActivityForResult(Intent.createChooser(intent, "select video"), RequestCodeForVideoPick);
编辑1:似乎是因为从Google照片中提取了视频文件。
编辑2:我尝试从设备加载文件。黑屏不出现。
请提出任何解决方案。
答案 0 :(得分:0)
尝试使用此库,它很轻巧且易于使用。它适用于图片,视频,音频和文件。
https://github.com/informramiz/AndroidFilePickerLibrary
样品用量:
implementation 'io.github.informramiz:androidfilepickerlibrary:1.7'
在您选择视频文件的地方,请使用以下代码:
FilePicker.showCameraPickerDialog(this);
库将返回捕获的图片,视频,音频和文件。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//check if this result of AndroidFilePickerLibrary
if (FilePicker.canHandleActivityResult(requestCode)) {
//fetch the returned object
FileInfo fileInfo = FilePicker.onActivityResult(requestCode, resultCode, data);
//show the UI in a TextView
uriTextView.setText("Uri: " + fileInfo.getUri().toString());
}
}