Android:VideoView和Intent.ACTION_VIEW之间的区别

时间:2017-08-07 06:25:46

标签: android-intent android-permissions android-sdcard android-videoview

我有一个正确的VideoURI在Activity中播放视频。

Uri  videoUri = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(videoUri, "video/*");
startActivity(intent);

这可以在整个屏幕上播放和播放视频。

我也尝试使用VideoView小部件播放此视频,但无法加载视频。

mVideoView = (VideoView)findViewById(R.id.video_view);
mVideoView.setVideoURI(videoUri);
mVideoView.requestFocus();
mVideoView.start();

视频文件位于sdcard / Movies / my_video.mp4;

当我使用VideoView运行时,logcat会给..

W/VideoView: Unable to open content: file:///storage/emulated/0/Movies/my_video.mp4 
java.io.FileNotFoundException: /storage/emulated/0/Movies/my_video.mp4  (Permission denied)

任何帮助都会很棒。 谢谢。

1 个答案:

答案 0 :(得分:0)

解决。

代码中没有问题。

1)我需要手动授予应用访问本地存储的权限。 (应用程序设置)

2)接下来,我创建了一个Intent,允许在App设置中访问本地存储。