Java 下载失败时,DownloadManager游标属性列\u LOCAL\u FILENAME为空
我正在为我的Java 下载失败时,DownloadManager游标属性列\u LOCAL\u FILENAME为空,java,android,download,android-download-manager,Java,Android,Download,Android Download Manager,我正在为我的DownloadManager构建一个后备方案,它将重新启动失败的下载 我坚持使用示例构建下载管理器功能 if (c.moveToFirst()) { int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS); ... } else if (DownloadManager.STATUS_FAILED == c.getInt(columnIndex)) { colIndex = c.ge
DownloadManager
构建一个后备方案,它将重新启动失败的下载
我坚持使用示例构建下载管理器功能
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);
}
“failed”-案例正在运行,但我的localFilename
变量为null
顺便说一句,列的URI
正在工作
知道如何访问目标/本地路径或文件名吗?DownloadManager.COLUMN\u local\u filename字段从API 11开始工作,因此如果使用较旧的API,则colIndex将为-1,这将导致localFilename字符串为空 如果您想从URI获取路径,只需
String path = Uri.parse(cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI))).getPath()
本地文件名为空,因为下载失败。没有可引用的本地文件 请参阅以下文件(增加重点): 如果文件下载成功,则返回给定下载文件id的Uri。否则,将返回null