Tamam, dosyaları indiriyorum. İndirme tamamlandığında görüntü için yerel URI'ye bir mesaj göndermek istiyorum. Ama zaman% 20'si bu alıyorum:DownloadManager, STATUS_SUCCESSFUL göndericisini indirerek yüklendi
İşte6-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;
}
}
}
Merhaba, aynı sorunu yaşıyorum. bir şekilde çözdünüz mü, yanlış olanı anladınız mı? –
@TalKanel Sorun SADECE Samsung cihazları ile gerçekleşiyor (Galaxy Tab 10.1 veya 3.2 veya 2.3.3 veya 4.0'da başka bir şey var - bu önemli değil, HTC'ye hiç olmadı). Ben 'DownloadManager' kendi _buggy_ gerçekleştirilmesi olduğunu düşünüyorum. Bu yüzden takım liderim kendi farkındalığını yazdı ve iyi çalışıyor. – efpies
çok kötü, P7510 ve P5110 (GALAXY TAB 10.1 ONE ve TWO) samsung tabletlerinde kullanmam gerekiyor, ve bahsettiğiniz belirli işletim sistemi sürümleri üzerinde çalışmam gerekiyor .. bu yüzden kendi çözümümüzü uygulamak zorundayım. –