Android下载管理器的意外状态

问题描述 投票:0回答:1

我从这个代码中得到的状态是200。

 String status = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));

200,然而,不是已知的状态码之一。

DownloadManager.STATUS_PAUSED
DownloadManager.STATUS_PENDING
DownloadManager.STATUS_RUNNING
DownloadManager.STATUS_SUCCESSFUL
DownloadManager.STATUS_FAILED

那么为什么cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS))会返回200呢?

注意:在API 10上用相同的代码和相同的下载文件样本进行测试,我只看到了预期的状态值,但在API 14或API 17上测试,我看到了200状态。

android android-download-manager
1个回答
1
投票

获取状态的正确方法是

int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));

具体来说, Cursor 回来的 DownloadManager 是一个 DownloadManager.CursorTranslator,它取代了 getInt() 用于处理 COLUMN_STATUS呼叫 getString() 只是返回该列的原始值。

© www.soinside.com 2019 - 2024. All rights reserved.