熟女伦乱激情网一区二区,十八禁免费漫画在线观看,欲色欲香天天网综合久久,美女无遮挡隐私叼嗨网站

DownloadManager主要用來(lái)進(jìn)行長(zhǎng)時(shí)間http下載,是個(gè)系統(tǒng)后臺(tái)服務(wù)。連接出錯(cuò)了能自己重連,重啟了也能繼續(xù)連。

1.得到DownloadManager

DownloadManager dm = (DownloadManager)getSystemService( DOWNLOAD_SERVICE).

 

2.得到連接請(qǐng)求對(duì)象

DownloadManager.Request   down=new DownloadManager.Request (Uri.parse("http://10.0.11.210:8080/test/我的歌聲里.mp3"));

 

3.對(duì)請(qǐng)求設(shè)置參數(shù)(常用的)與開始下載

//設(shè)置允許使用的網(wǎng)絡(luò)類型,移動(dòng)網(wǎng)絡(luò)與wifi都可以
down.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE|DownloadManager.Request.NETWORK_WIFI);

//顯示在下載界面,即下載后的文件在下載管理里顯示
down.setVisibleInDownloadsUi(true);

//設(shè)置下載后文件存放的位置,不設(shè)置會(huì)存在data/data/com.android.provider.downloads/cache/下 面,設(shè)置后存在sd上的Android/data/<包名>/files/下面。第2個(gè)參數(shù)是files下再建目錄的目錄名,第3個(gè)參數(shù)是文 件名,如果第3個(gè)參數(shù)帶路徑,要確保路徑存在,第2個(gè)參數(shù)路徑隨便寫,會(huì)自己創(chuàng)建 down.setDestinationInExternalFilesDir(mContext, Environment.DIRECTORY_MUSIC, "我的歌聲里.mp3"); 

//在通知欄顯示下載詳情,比如百分比。       
 down.setShowRunningNotification(true)(API 9); //默認(rèn)是true,改為false需要權(quán)限android.permission.DOWNLOAD_WITHOUT_NOTIFICATION。

此方法被setNotificationVisibility(int visibility)(API  11)取代。

//以sd卡路徑為根路徑,與上方法只有一個(gè)有效。第一個(gè)參數(shù)創(chuàng)建文件夾用的是mkdir
                down.setDestinationInExternalPublicDir(Environment.DIRECTORY_MUSIC, "我的歌聲里.mp3");

//將下載請(qǐng)求放入隊(duì)列
                manager.enqueue(down);

// 下載完成后保留 下載的notification。文檔上寫明參數(shù)需要API 12以上。4.0的手機(jī)開始。

 

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. down.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);  

 

4.接收下載完成信息

廣播接收下載完成信息,Action為DownloadManager.ACTION_DOWNLOAD_COMPLETE。

能得到下載完成的文件存在數(shù)據(jù)庫(kù)中的ID:long downId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);

getUriForDownloadedFile(long id)能得到文件存儲(chǔ)的URI。

也可以通過(guò)new一個(gè)DownloadManager.Query再setFilterById(long... ids),接著用DownloadManager的query(DownloadManager.Query query)來(lái)得到Cursor對(duì)象

 

5.remove(long... ids)

取消正在下載的任務(wù)或者刪除下載了一部分或者全部的文件,刪除對(duì)應(yīng)的數(shù)據(jù)記錄。

6.id怎么獲取

可以監(jiān)聽數(shù)據(jù)庫(kù)文件/data/data/com.android.provider.downloads/database/downloads.db。數(shù)據(jù)庫(kù)有專門的監(jiān)聽類。也可以用文件監(jiān)聽類FileObsever監(jiān)測(cè)文件變化。

得到變化的數(shù)據(jù)行。數(shù)據(jù)庫(kù)里的數(shù)據(jù)并不是在下載完后才插入的,而是下載時(shí)通知欄上百分比每變化一次就更新一次。

下載百分比也是這么獲取,數(shù)據(jù)庫(kù)里有兩個(gè)字段其中current_bytes是當(dāng)前下載bit數(shù),在等于total_bytes之前是更新的。

 

7.點(diǎn)擊正在下載的notification將會(huì)受到Action為DownloadManager.ACTION_NOTIFICATION_CLICKED的廣播。

 

下載示例代碼:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. private void begainDownload() {  

  2.     DownloadManager dm = (DownloadManager)getSystemService( DOWNLOAD_SERVICE);  

  3.     DownloadManager.Request   down=new DownloadManager.Request (Uri.parse("http://10.0.11.210:8080/test/我的歌聲里.mp3"));  

  4.     down.setVisibleInDownloadsUi(true);  

  5.     down.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_MUSIC, "我的歌聲里.mp3");  

  6.     down.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);  

  7.     dm.enqueue(down);  

  8. }  

tomcat服務(wù)器提供資源。文件存在了/sdcard/Android/data/<包名>/files/Music/我的歌聲里.mp3

權(quán)限:

 

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. <uses-permission android:name="android.permission.INTERNET"/>  

  2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 

穩(wěn)定

產(chǎn)品高可用性高并發(fā)

貼心

項(xiàng)目群及時(shí)溝通

專業(yè)

產(chǎn)品經(jīng)理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽(yù)

堅(jiān)持

10年專注高端品質(zhì)開發(fā)
  • 返回頂部
沁水县| 山阳县| 永福县| 天台县| 平原县| 宁陵县| 游戏| 平罗县| 亚东县| 德安县| 鄂伦春自治旗| 鹿泉市| 武冈市| 铜山县| 道孚县| 宿州市| 驻马店市| 丰台区| 尚义县| 吉安县| 贵州省| 格尔木市| 通州区| 临西县| 依安县| 金溪县| 民县| 安福县| 崇阳县| 丰顺县| 湖南省| 天门市| 连云港市| 辽中县| 武强县| 伽师县| 林州市| 饶阳县| 宝兴县| 来宾市| 宜阳县|