我已设法在设备上下载我的视频,但无法再次访问它以在我的应用上播放。我使用生成的uri将我的视频引用回videoView,但是uri是在
生成的uri = downloadManager.getUriForDownloadedFile(reference);根据我的日志消息为空。
我做错了什么?
public void saveLocal(View v){
downloadManager= (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
String url= "http://adme360.otscom.net/tim10.mp4";
uris= Uri.parse(url);
DownloadManager.Request request= new DownloadManager.Request(uris);
request.setNotificationVisibility(Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
Long reference=downloadManager.enqueue(request);
Toast.makeText(this,""+reference,Toast.LENGTH_LONG);
uri= downloadManager.getUriForDownloadedFile(reference);
Log.d("REFERENCE", ""+uri);
}
public void playLocal(View v){
video.setVideoURI(uri);
video.start();
}
答案 0 :(得分:0)
下载是异步下载的。视频在另一个帖子上下载。下载完成后,您需要注册广播接收器才能获得回调。 Quoting from answer from this question
下载完成后由下载管理器发送的广播意图操作,因此您需要在下载完成时注册接收方:
注册接收器
registerReceiver(onComplete, newIntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
和BroadcastReciever处理程序
BroadcastReceiver onComplete=new BroadcastReceiver() {
public void onReceive(Context ctxt, Intent intent) {
// your code
}
};`