के लिए STATUS_SUCCESSFUL भेजता है ठीक है, मैं फ़ाइलें (छवियां) डाउनलोड कर रहा हूं। जब डाउनलोड पूरा हो जाता है तो मैं छवि के लिए स्थानीय यूआरआई के साथ एक संदेश भेजना चाहता हूं। लेकिन समय के 20% मैं इस हो रही है:डाउनलोड मैनेजर असफल डाउनलोड
6-01 18:46:39.900: INFO/DownloadManager(412): Initiating request for download 605
06-01 18:46:39.910: WARN/DownloadManager(412): Aborting request for download 605: Trying to resume a download that can't be resumed
06-01 18:46:39.910: INFO/ololo(2826): Okay, I'll broadcast.
06-01 18:46:39.990: WARN/ImageView(2826): Unable to open content: content://downloads/my_downloads/605
java.io.FileNotFoundException: No filename found.
at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:145)...
06-01 18:46:39.990: INFO/System.out(2826): resolveUri failed on bad bitmap uri: content://downloads/my_downloads/605
06-01 18:46:39.990: INFO/ololo(2826): content://downloads/my_downloads/605 was set for [email protected]
यहाँ कोड
Long downloadId = downloadIds.get(this);
if(downloadId == intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1)) {
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterById(downloadId);
Cursor cursor = downloadManager.query(query);
if(cursor.moveToFirst()) {
switch (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS))) {
case DownloadManager.STATUS_SUCCESSFUL : {
Log.i("ololo", "Okay, I'll broadcast.");
// Broadcasting
break;
}
case DownloadManager.STATUS_FAILED : {
Log.i("ololo", "Bad, I won't broadcast.");
int reason = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_REASON));
if(reason == DownloadManager.ERROR_CANNOT_RESUME || reason == DownloadManager.ERROR_UNKNOWN) {
// Rerun download
}
break;
}
default:
break;
}
}
}
हाय, मुझे एक ही समस्या है। क्या आपने इसे हल किया है या समझ लिया है कि क्या गलत है? –
@TalKanel समस्या केवल सैमसंग उपकरणों (गैलेक्सी टैब 10.1 या कुछ और, 3.2, या 2.3.3, या 4.0 पर हो रही है - इससे कोई फर्क नहीं पड़ता, किसी भी एचटीसी के साथ कभी नहीं हुआ)। मुझे लगता है कि 'DownloadManager' का अपना _buggy_ प्राप्ति है। तो मेरी टीम के नेता ने अपना खुद का अहसास लिखा और यह अच्छी तरह से काम करता है। – efpies
बहुत खराब है, मुझे इसे सैमसंग टैबलेट P7510 और P5110 (गैलेक्सी टैब 10.1 वन और TWO) में उपयोग करने की आवश्यकता है, और मुझे आपके द्वारा वर्णित विशिष्ट ओएस संस्करणों पर काम करने की आवश्यकता है .. इसलिए मुझे लगता है कि मुझे अपना खुद का कामकाज लागू करना है। –