DownloadManger的使用方法:二

来源:互联网 发布:tostring方法的作用js 编辑:程序博客网 时间:2024/06/08 08:56

之前的一篇文章讲的是DownloadManger的一些基本用法和参数设置。

这篇文章稍微深入讲解一些用法。

DownloadManager.Query

顾名思义,这个类就是用来查询的。他的一个重要的参数,ID就是上一篇讲到的,downloadManager.enqueue(request);的返回值。

下面我们来看一下这个类的基本用法。

 IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);        receiver = new DownloadCompleteReceiver();        registerReceiver(receiver, filter);
 class DownloadCompleteReceiver extends BroadcastReceiver {        @Override        public void onReceive(Context context, Intent intent) {            long downloaded_id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);          /*  Log.d(getPackageName(), "下载完成:" + "downloaded_id =" + downloaded_id + "----" + "download_id=" + download_id1 + "");            Log.d(getPackageName(),"下载完成:"+"downloaded_id ="+downloaded_id+"----" +"download_id="+download_id2+"");            if(download_id1 == downloaded_id){                Log.d(getPackageName(),"下载完成:"+"downloaded_id ="+downloaded_id);            }            if(download_id2 == downloaded_id){                Log.d(getPackageName(),"下载完成:"+"downloaded_id ="+downloaded_id);            }*/            DownloadManager.Query myQuery = new DownloadManager.Query();            myQuery.setFilterById(downloaded_id);            Cursor cursor = downloadManager.query(myQuery);            if (cursor.moveToFirst()) {                int id = cursor.getColumnIndex(DownloadManager.COLUMN_ID);                int media_type = cursor.getColumnIndex(DownloadManager.COLUMN_MEDIA_TYPE);                int media_provider_uri = cursor.getColumnIndex(DownloadManager.COLUMN_MEDIAPROVIDER_URI);                int filename = cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME);                int total_size = cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES);                String download_id = cursor.getString(id);                String file_media_type = cursor.getString(media_type);                String provider_uri = cursor.getString(media_provider_uri);                String name = cursor.getString(filename);                String size = cursor.getString(total_size);                tv_id.setText(download_id);                tv_media_type.setText(file_media_type);                tv_media_uri.setText(provider_uri);                tv_filename.setText(name);                tv_size.setText(size);            }        }    }

上面的Receiver是监听下载完成广播的一个Receiver,下载的代码就不给出。

未完……

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果7中间的home键坏了怎么办 苹果6p的home键不管用怎么办 华为获取数据失败请检查网络怎么办 三星手机未解锁刷机变砖怎么办 手机显示充电但是充不进去怎么办 手机拔出显示无法连接移动网怎么办 手机上的音乐老是显示网络忙怎么办 华为手机账号换手机忘记密码怎么办 墨墨背单词的注册邮箱忘了怎么办 华为手机华为账号密码忘记了怎么办 手机玩游戏降频特别厉害怎么办 苹果应用商店id登录老卡怎么办 苹果id忘记了自动续费怎么办 红米手机小米账号密码忘了怎么办 小米5splus没系统卡米怎么办 注册谷歌账号输入手机好怎么办 谷歌注册电话号码用了太多次怎么办 内存卡用了深度清理的软件怎么办 华为畅享5s密码忘了怎么办 小米5s进水了一直开机关机怎么办 手机菜单键功能键返回键失灵怎么办 小米5s更新系统发热严重怎么办 小米手机4G网速不好怎么办力 红米5 plus开不开机怎么办 小米3s手机触屏部分失灵怎么办 魅族手机屏幕锁密码忘了怎么办 手机没设置魅族账号密码忘了怎么办 魅族手机格式化密码忘了怎么办 魅族手机忘记密码了怎么解锁怎么办 手机设置的应用加密忘记密码怎么办 手机上设置应用加密忘记密码怎么办 魅蓝flyme密码忘了怎么办图片 魅族手机经常自动账号锁屏怎么办 魅族锁定后又不知道密码怎么办 魅族手机锁屏锁定了怎么办 魅族手机已锁定怎么办密码忘了 京东抢到了小米8不发货怎么办 第一次网上预约没有就诊卡号怎么办 京东定金交了未发货怎么办 买了没有预售许可证的房子怎么办 买了没有预售证的房子怎么办