2012-06-06 32 views
5

मुझे लगता है कि मेरे पास एक साधारण सवाल है।एंड्रॉइड डाउनलोड प्रबंधक

http://www.vogella.com/blog/2011/06/14/android-downloadmanager-example/

मैं ऊपर URL में एक ट्यूटोरियल निम्नलिखित किया गया है।

मैं डाउनलोड के लिए फ़ाइलपैथ कैसे बदलूं?

धन्यवाद अग्रिम

उत्तर

17

में आप जानकारी के उस तरह के साथ DownloadManager.Request वस्तु कॉन्फ़िगर करें। ट्यूटोरियल में, Request ऑब्जेक्ट बनाया गया है और onClick() में उपयोग किया जाता है।

उदाहरण के लिए:

DownloadManager.Request req=new DownloadManager.Request(uri); 

req.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI 
           | DownloadManager.Request.NETWORK_MOBILE) 
    .setAllowedOverRoaming(false) 
    .setTitle("Demo") 
    .setDescription("Something useful. No, really.") 
    .setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, 
             "test.mp4"); 

(उपरोक्त कोड this sample project से है)

+1

अंतिम पंक्ति महत्वपूर्ण है :) पहले मैंने उस पर थोड़ा ठोकर खाया। –

+0

हाय CommonsWare मैं अभी भी कैसे DownloadManager बताने के लिए फ़ोल्डर :(में फ़ाइलों को स्टोर करने पर कुछ नहीं कर रहा हूँ। कुछ आप की तरह Async में OutputStream उत्पादन = नए FileOutputStream ("/ sdcard/MyFolder/file_name.extension") करना होगा ; – Mich

+0

@Mich: 'setDestinationInExternalPublicDir()' और संबंधित विधियां आपको आउटपुट निर्देशिका को 'फ़ाइल' के रूप में निर्दिष्ट नहीं करती हैं, न कि 'आउटपुटस्ट्रीम' के रूप में। – CommonsWare

5

CommonsWare के जवाब राज्यों गंतव्य में अंतिम पंक्ति। वह सिर्फ एसडीकार्ड पर नियमित डाउनलोड-फ़ोल्डर का उपयोग करता है, लेकिन आप यह भी कर सकते हैं:

req.setDestinationInExternalPublicDir("/mnt/sdcard/Myfolder", "file_name.extension"); 
+2

क्या req.setDestinationUri (URI) का उपयोग करने का नकारात्मक पक्ष यह है या req.setDestinationInExternalPublicDir – Mich

+0

है तुम्हारी मदद की – Mich

+6

तुम भी इस्तेमाल कर सकते हैं 'Environment.getExternalStorageDirectory()' के लिए धन्यवाद बजाय हार्डकोड के लिए ** "/ mnt/sdcard" ** – Kalarani