gpt4 book ai didi

android - 如何使用 DownloadManager 将下载的文件存储到分配的应用程序文件目录中?

转载 作者:太空狗 更新时间:2023-10-29 14:37:48 24 4
gpt4 key购买 nike

我正在尝试使用 DownloadManager 将下载的文件存储到 android 分配的 app/s 文件目录中。为此,我使用以下代码

downloadManager=(DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = Uri.parse(link);
DownloadManager.Request request= new DownloadManager.Request(uri);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setVisibleInDownloadsUi(false);
request.setTitle(fileName);

File file = ctx.getFilesDir();
Uri myPath=Uri.fromFile(file);
request.setDestinationUri(myPath);

Long reference= downloadManager.enqueue(request);
Toast.makeText(DownloadActivity.this,"Downloading Started",Toast.LENGTH_LONG).show();

通过使用这段代码,我得到以下错误

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.puranepaper.PuranePaper, PID: 18263
java.lang.SecurityException: Unsupported path /data/data/com.puranepaper.PuranePaper/files
at android.os.Parcel.readException(Parcel.java:2005)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
at android.content.ContentProviderProxy.insert(ContentProviderNative.java:476)
at android.content.ContentResolver.insert(ContentResolver.java:1552)
at android.app.DownloadManager.enqueue(DownloadManager.java:1163)
at com.puranepaper.PuranePaper.DownloadActivity$1.onClick(DownloadActivity.java:92)
at android.view.View.performClick(View.java:6310)
at android.view.View$PerformClick.run(View.java:24970)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:171)
at android.app.ActivityThread.main(ActivityThread.java:6654)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

我如何消除“不支持的路径”错误以及我在这段代码中做错了什么

最佳答案

其他应用(包括下载管理器)无法访问您应用的内部存储器。

重复 this question .

关于android - 如何使用 DownloadManager 将下载的文件存储到分配的应用程序文件目录中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53230373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com