Backpressed Video Gallery出错

时间:2017-08-20 16:55:49

标签: java android

我有一个模块,可以从库中选择一个视频,然后将其放到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);

    }
});

2 个答案:

答案 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);

        }