Android 视频视图在AsyncTask onPostExecute后未启动

Android 视频视图在AsyncTask onPostExecute后未启动,android,android-asynctask,android-videoview,Android,Android Asynctask,Android Videoview,如果在使用AsyncTask将其加载到文件后启动,VideoView将显示白色屏幕。下面是代码 if (file.exists()) { loadVideo(file, infoImageView, infoVideoView); } else { new LoadToFile(file, infoImageView, infoVideoView).execute(); } 我的loadVideo功能是 public void loadVideo(File file, ImageView

如果在使用AsyncTask将其加载到文件后启动,VideoView将显示白色屏幕。下面是代码

if (file.exists()) {
 loadVideo(file, infoImageView, infoVideoView);
}
else {
 new LoadToFile(file, infoImageView, infoVideoView).execute();
}
我的loadVideo功能是

public void loadVideo(File file, ImageView imageView, final VideoView videoView) {
 imageView.setVisibility(View.GONE);
 videoView.setVisibility(View.VISIBLE);
 videoView.setVideoPath(file.getAbsolutePath());
 videoView.start();
}
我在loadVideo函数所在的类中定义了loadToFile类

class LoadToFile extends AsyncTask {

 @Override
 protected Object doInBackground(Object[] objects) {
  downloadFile();
  return file;
 }

 @Override
 protected void onPostExecute(Object o) {
  File file = (File) o;
  loadVideo(file, imageView, videoView);
 }
}

当有文件时,VideoView可以毫无问题地播放视频。但是当我使用AsyncTask将视频加载到文件时,VideoView只显示白色屏幕。创建文件时没有任何问题,如果我重新启动活动,它将毫无问题地播放。

为什么要下载文件?你可以直接播放url。我需要它,以备将来使用。如果你担心缓存,那么你可以使用它。它的效果很好。但是如果你真的想按自己的方式去做,那么检查文件是否成功写入。是的,文件写入成功,并且当我重新启动活动时,它会播放文件。