我有一个模块,可以从库中选择一个视频,然后将其放到videoview中。但是当我尝试单击我的画廊然后按下时,它会崩溃我的应用程序并指向我这个代码。 (带箭头的代码行)
这是我的代码。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
---> Uri filePath = data.getData();
path = filePath+"";
if (requestCode == RECORD_VIDEO && resultCode == Activity.RESULT_OK && data.getData() != null) {
ivVideo.setVideoPath(path);
ivVideo.setMediaController(new android.widget.MediaController(getActivity()));
ivVideo.requestFocus();
ivVideo.start();
Uri selectedImageUri = data.getData();
selectedPath = getPath(selectedImageUri);
}
}
这是onClickListener。
ivGallery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setType("video/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Video"),RECORD_VIDEO);
}
});
答案 0 :(得分:0)
检查onActivityResult()
中的数据是否为null @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(data!=null){
// Your code
}
}
答案 1 :(得分:0)
固定!!
我只是将Uri置于条件之内..
哈哈..我解决了自己的问题..感谢各位帮忙:)
if (requestCode == RECORD_VIDEO && resultCode == Activity.RESULT_OK && data.getData() != null) {
Uri filePath = data.getData();
path = filePath+"";
ivVideo.setVideoPath(path);
ivVideo.setMediaController(new android.widget.MediaController(getActivity()));
ivVideo.requestFocus();
ivVideo.start();
Uri selectedImageUri = data.getData();
selectedPath = getPath(selectedImageUri);
}