下载失败时,DownloadManager游标属性COLUMN_LOCAL_FILENAME为空

Ron*_*Ron 2 java android download android-download-manager

我正在建立一个后备,我DownloadManager将重新启动失败的下载.

我坚持使用vogella构建我的下载管理器功能示例.

if (c.moveToFirst()) {
int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS);

...

} else if (DownloadManager.STATUS_FAILED == c.getInt(columnIndex)) { 

         colIndex = c.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME);
         String localFilename = c.getString(colIndex);

}
Run Code Online (Sandbox Code Playgroud)

"失败"的案例正在运作,但我的localFilename变量是null.

顺便说一句:这COLUMN_URI是有效的.

有关如何访问目标/本地路径或文件名的任何想法?

mar*_*3kk 5

DownloadManager.COLUMN_LOCAL_FILENAME字段自API 11起作用,因此如果您使用较旧的API,则colIndex将为-1,这将导致localFilename String为null.

如果你想从URI获取路径

String path = Uri.parse(cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI))).getPath()
Run Code Online (Sandbox Code Playgroud)