分享

使用DownloadProvider来实现后台下载

 windli笔记 2011-10-24
其实你只要能往DownloadProvider的数据库中插入你要下载的信息,downloadProvider中的service就会自动去下载(开机已启动),但DownloadProvider有“android.permission.ACCESS_DOWNLOAD_MANAGER”权限,这个权限的级别是“signatureOrSystem”及系统及签名的(这个签名貌似要和DownloadProvider的签名一样(目前没搞清楚)),哈哈,或者你把他的权限级别改成normal,然后重新编译img,就可以了,但这样只能在你的机子上跑了
希望高手搞一下签名问题

DownloadProvider的权限级别改成normal了就可以使用了 网上也有说明
首先要在AndroidManifest.xml中申请访问DownloadManager的权限
          <permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
         添加一个下载任务:
         ContentValues values = new ContentValues();
         values.put(Downloads.URI, url);//指定下载地址
        values.put(Downloads.COOKIE_DATA, cookie);//如果下载Server需要cookie,设置cookie
        values.put(Downloads.VISIBILITY,Downloads.VISIBILITY_HIDDEN);//设置下载提示是否在屏幕顶部显示
        values.put(Downloads.NOTIFICATION_PACKAGE, getPackageName());//设置下载完成之后回调的包名
        values.put(Downloads.NOTIFICATION_CLASS, DownloadCompleteReceiver.class.getName());//设置下载完成之后负责接收的Receiver,这个类要继承 BroadcastReceiver     
        values.put(Downloads.DESTINATION,save_path);//设置下载到的路径,这个需要在Receiver里自行处理
        values.put(Downloads.TITLE,title);//设置下载任务的名称
        this.getContentResolver().insert(Downloads.CONTENT_URI, values);//将其插入到DownloadManager的数据库中,数据库会触发修改事件,启动下载任务

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多