android 中downloadmanager学习
16lz
2021-01-26
android系统中包含了很多的系统管理类,比如:PowerManager,AudioManager等,而使用downloadmanager来下载文件是件很方便的事情。
下面是关键代码:
DownloadManager manager = null;private long mDownloadReference;//当前下载任务的引用,通过该引用可以操作下载任务//获取downloadmanager对象manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);//创建监听下载完成的广播接收对象DownloadCompleteReciver downloadeReciver = new DownloadCompleteReciver();//注册广播监听器registerReceiver(downloadeReciver, filter);下载文件的详细代码://指定要下载的文件Uri uri = Uri.parse("http://10.0.2.2/test/data/get.mp3");//创建下载任务对象DownloadManager.Request request = new DownloadManager.Request(uri);//设置下载标题request.setTitle("下载文件");//设置下载描述request.setDescription("正在使用downloadmanager下载文件");//指定下载到本地的目录request.setDestinationInExternalFilesDir(MainActivity.this,"down","hahaha.mp3");//将下载任务加入到队列中,并返回下载任务的而引用mDownloadReference = manager.enqueue(request);setTitle("正在下载");/取消下载按钮的单机事件//取消mDownloadReference指向的下载任务manager.remove(mDownloadReference);//显示下载历史Intent intent = new Intent();;intent.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS);//显示下载历史startActivity(intent);//查询下载状态//查询状态所在的列索引int columnIndex = cursor.getColumnIndex(manager.COLUMN_STATUS);//获取下载状态的代码int status = cursor.getInt(columnIndex);//下载原因所在的列的索引int columnReason = cursor.getColumnIndex(manager.COLUMN_REASON);//获取下载原因的代码int reason = cursor.getInt(columnReason);//获取下载文件存储在本地文件名所在列的索引int filenameIndex = cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME);//获取下载文件存储在本地的文件名String filename = cursor.getString(filenameIndex);
更多相关文章
- 手机扫描二维码下载APP,根据操作系统不同自动下载
- android classes.dex 反编译
- android数据保存
- 使用gradle来编译生成apk
- ActionBarSherlock的使用一
- delphixe 安卓 android操作 打电话,摄像头,定位等
- Android获取通讯录联系人显示在EditText上Demo
- android 中ids.xml资源的使用
- android 中断点续传理解