我如何才能将从 Android 中的下载管理器下载的文件保存到应用程序内部(filesDir),因为现在它不容易访问 Android 中的文件
How can I save files downloaded from Download Manager in Android to app internal(filesDir) as now its not easy to access files in Android
这是我在 android.
中从 webView 下载任何内容时尝试执行的代码
webview.setDownloadListener { url, userAgent, contentDisposition, mimetype, l ->
val request = DownloadManager.Request(Uri.parse(url))
request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimetype))
request.setDescription("Downloading file...")
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
var newuri=FileProvider.getUriForFile(context, "com.shyptsolution.classproject"+ ".provider", File(context.filesDir,"fileName"))
// request.setDestinationUri(newuri)
request.setDestinationInExternalPublicDir(
context.filesDir.absolutePath,
URLUtil.guessFileName(url, contentDisposition, mimetype)
)
val dm =context.applicationContext.getSystemService(DOWNLOAD_SERVICE) as DownloadManager
dm!!.enqueue(request)
}
但我收到错误提示,它不是标准目录。如何将文件保存在缓存或文件目录中??
我只想在下图所示的 files
文件夹中查看我的文件。
DownloadManager
无法下载到 internal storage,因为它无权访问该位置。
由于范围存储限制,DownloadManager
在 Android 的现代版本中非常有限。我建议您使用其他工具(例如 OkHttp)将应用程序中的内容下载到您控制的文件中,包括内部存储。
request.setDestinationInExternalPublicDir(
替换为:
request.setDestinationInExternalFilesDir(
这是我在 android.
中从 webView 下载任何内容时尝试执行的代码 webview.setDownloadListener { url, userAgent, contentDisposition, mimetype, l ->
val request = DownloadManager.Request(Uri.parse(url))
request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimetype))
request.setDescription("Downloading file...")
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
var newuri=FileProvider.getUriForFile(context, "com.shyptsolution.classproject"+ ".provider", File(context.filesDir,"fileName"))
// request.setDestinationUri(newuri)
request.setDestinationInExternalPublicDir(
context.filesDir.absolutePath,
URLUtil.guessFileName(url, contentDisposition, mimetype)
)
val dm =context.applicationContext.getSystemService(DOWNLOAD_SERVICE) as DownloadManager
dm!!.enqueue(request)
}
但我收到错误提示,它不是标准目录。如何将文件保存在缓存或文件目录中??
我只想在下图所示的 files
文件夹中查看我的文件。
DownloadManager
无法下载到 internal storage,因为它无权访问该位置。
DownloadManager
在 Android 的现代版本中非常有限。我建议您使用其他工具(例如 OkHttp)将应用程序中的内容下载到您控制的文件中,包括内部存储。
request.setDestinationInExternalPublicDir(
替换为:
request.setDestinationInExternalFilesDir(