以Intent方式调用ACTION_VIDEO_CAPTURE打开视频摄像头拍照后,
如果在当前Intent播放了此视频,保存路径下的该视频文件会变为0KB(也就是不能用了)
华为手机上不会出现此bug,目前发现在小米手机上(机型Redmi Note 8)出现此bug
相关代码
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
imagePaths = Environment.getExternalStorageDirectory().getPath()
+ "/video/"
+ (System.currentTimeMillis() + ".mp4");
File vFile = new File(imagePaths);
if (!vFile.exists()) {
File vDirPath = vFile.getParentFile();
vDirPath.mkdirs();
} else {
if (vFile.exists()) {
vFile.delete();
}
}
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
cameraUri = FileProvider.getUriForFile(getContext(),
"xxxx.fileprovider",
vFile);
}else {
cameraUri = Uri.fromFile(vFile);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
intent.putExtra(MediaStore.EXTRA_OUTPUT, cameraUri);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 5);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, AFTER_VIDEO);