इस के साथ मेरी ऐप डाउनलोड की गई फ़ाइल:
पब्लिक क्लास DownloadService IntentService {public static final इंट UPDATE_PROGRESS = 8344; सार्वजनिक डाउनलोडसेवा () {सुपर ("डाउनलोडसेवा"); } @ ओवरराइड संरक्षित शून्य को हेंडलआईंटेंट (आशय का इरादा) {स्ट्रिंग यूआरएल टॉइड डाउनलोड = आंत .getStringExtra ("url"); स्ट्रिंग fileToStore = intent.getStringExtra ("फ़ाइल"); रिजल्ट रिसीवर रिसीवर = (रिजल्ट रीसिवर्स) इन्टेंट.टेटेबलबल एक्स्ट्रा ("रिसीवर"); {URL url = नया URL (urlToDownload) आज़माएं; यूआरएल कनेक्शन कनेक्शन = url.openConnection (); connection.connect (); // यह उपयोगी होगा ताकि आप एक सामान्य 0-100% प्रगति पट्टी int फ़ाइल लांघ = connection.getContentLength () दिखा सकें; // फ़ाइल इनपुटस्ट्रीम इनपुट = नए BufferedInputStream (connection.getInputStream ()) डाउनलोड करें; आउटपुटस्ट्रीम आउटपुट = नया फ़ाइलऑप्टपुटस्ट्रीम ("/ sdcard / singingStudio /" + fileToStore + "। ज़िप"); बाइट डेटा [] = नया बाइट [1024]; लंबे कुल = 0; पूर्णांक संख्या; जबकि ((count = input.read (डेटा))! = -1) {total + = count; // प्रगति का प्रकाशन .... बंडल परिणाम डेटा = नया बंडल (); ResultData.putInt ("प्रगति", (पूर्णांक) (कुल * 100 / फाइल लैंग)); Receiver.send (UPDATE_PROGRESS, परिणाम डेटा); Output.write (डेटा, 0, गिनती); } Output.flush (); output.close (); input.close (); } पकड़ (IOException ई) {e.printStackTrace (); } बंडल परिणामडेटा = नया बंडल (); परिणाम Data.putInt ("प्रगति", 100); Receiver.send (UPDATE_PROGRESS, परिणाम डेटा); }}
मेरे एप किसी भी उपकरण में ठीक से काम करते हैं लेकिन उदाहरण के लिए एंड्रॉइड के सभी किटकैट संस्करण में एक्सपीरिया जेड 4 और बहुत गैलेक्सी ग्रैंडे 4.2.2 फाइल डाउनलोड होने पर। अगर मैं किसी भी गतिविधि ऐप पर जाता हूं तो क्रैश हो जाता है लेकिन अगर DownloadManager ऐप के साथ फाइल डाउनलोड करते हैं तो यह दुर्घटना नहीं है।
क्यों?
No comments:
Post a Comment