私はどこでも調査しましたが、解決策はありません。Eclipseのデバッグモードで正常に実行され、合計ファイルサイズを取得するスニペットコードがあります。しかし、プロジェクトを実行すると、sizeOfDownloadingFileの値は-1のみを返します。助けてください、私はAndroid22でコンパイルします。よろしくお願いします。
long id = downloadManager.enqueue(request);
Cursor cursor = downloadManager.query(new DownloadManager.Query()
.setFilterById(id));
if (!cursor.moveToFirst()) {
Log.v("DownloadManagerService", "download list is empty");
return;
}
int sizeOfDownloadingFile = 0;
sizeOfDownloadingFile = cursor.getInt(cursor
.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES));
Log.d("DownloadManagerService",
"File size of film " + mFilm.getmTitle() + " is "
+ sizeOfDownloadingFile);
メインスレッドでコードを呼び出す場合は、次のことを試してください。
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
check here size of your downloading file
}
},500);
デバッグモードの場合、ダウンローダーは適切にダウンロードを開始し、有効な値がありますが、アプリを通常実行した場合、ダウンローダーはサーバーに接続してファイルを実行する必要があり、コードの実行よりも時間がかかることがあります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加