如何将下载的文件保存在应用程序内存的缓存文件夹中?

oo92

我知道之前也曾问过类似的问题,但实际上没有可行的解决方案。我正在通过DownloadManager下载多个PDF文件,我想将这些文件保存到应用程序内存的缓存文件夹中,但找不到任何方法。

这是我的代码:

public class MainActivity extends AppCompatActivity {

    Button btn;
    DownloadManager downloadManager;
    List<String> myList = new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        myList.add("https://doc.lagout.org/programmation/Actionscript%20-%20Flash%20-%20Flex%20-%20Air/Flash%20Development%20for%20Android%20Cookbook%20-%20Labrecque%20-%20Packt%20%282011%29/Flash%20Development%20for%20Android%20Cookbook%20-%20Labrecque%20-%20Packt%20%282011%29.pdf");
        myList.add("http://www.csc.kth.se/utbildning/kth/kurser/DD143X/dkand11/Group1Mads/andreas.ulvesand.daniel.eriksson.report.pdf");
        myList.add("http://enos.itcollege.ee/~jpoial/allalaadimised/reading/Android-Programming-Cookbook.pdf");
        myList.add("https://x.coe.phuket.psu.ac.th/warodom/242-320/ebook/9781785883262-ANDROID_PROGRAMMING_FOR_BEGINNERS.pdf");
        myList.add("https://www.cs.cmu.edu/~bam/uicourse/830spring09/BFeiginMobileApplicationDevelopment.pdf");
        myList.add("https://commonsware.com/Android/Android-1_0-CC.pdf");

        btn = findViewById(R.id.download_btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                downloadManager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
                for(int i = 0; i < myList.size(); i++) {
                    Uri uri = Uri.parse(myList.get(i));
                    DownloadManager.Request request = new DownloadManager.Request(uri);
                    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
                    Long reference = downloadManager.enqueue(request);
                }
            }
        });
    }
}
赛义昌三

文档中

内部存储:随时可用。仅您的应用可以访问此处保存的文件。当用户卸载您的应用程序时,系统将从内部存储中删除您所有应用程序的文件。

Android内置的下载管理器无法访问您的应用内部存储,因此仅通过调用setDestinationInExternalFilesDir即可将文件保存到外部存储目录中setDestinationInExternalPublicDir

但是,如果要将它们保存在内部存储器中,只需注册接收文件,然后将文件从外部存储器复制到内部存储器即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将位图保存到Android中的应用程序文件夹

如何将应用程序生成的文件存储在Android的“下载”文件夹中?

ACRA 4.9.0:如何将ACRA报告写入文件(在“应用程序数据”文件夹中)

PhoneGap-如何制作图像副本并保存在应用程序文件夹中?

如何将节点应用程序的内容“构建”到名为“ dist”的文件夹中

保存到“下载”文件夹中的文件未显示在“下载”应用程序中

如何显示保存在Asp.Net Core应用程序专用文件夹中的图像?

如何将Web应用程序中的文件夹与网站同步?

如何将下载的PDF文件直接保存到文件夹中?

如何将图像或文件在任何位置复制或删除到UWP应用程序中的文件夹中

如何将从Windows Store下载的应用程序的快捷方式放置到文件夹中

从URL下载图像并将其保存在我的应用程序的drawable-hdpi文件夹中

如何将图像从UIImagePickerController保存到应用程序文件夹?

是否建议将文档保存在iis应用程序托管文件夹中?

Java Web应用程序将图像保存在项目文件夹中

如何使用“文件”应用程序(Nautilus)将文件拖放到文件夹中?

如何正确将下载的图像保存到应用程序指定的文件夹

将文件保存在应用程序的内存中

如何将图像保存在文件夹中?

如何将数据库中的数据保存到 mvc 应用程序中的文件夹中

Google 应用程序脚本 如何将多个文件移动到一个文件夹中?

Winforms 应用程序:如何将 .mdf 保存到 Windows %USERPROFILE% 文件夹?

从服务器下载图像并保存在应用程序项目的某个文件夹中(app\src\main)

如何将下载的文件(音频、文档)自动保存到 mac os x 沙盒应用程序中的用户下载文件夹?

如何将图片保存在特定文件夹中仅用于我的应用程序(正确)?

如何将图像文件从应用程序保存或移动到一般媒体文件夹

如何将文件保存到电子js中的应用程序文件夹

将下载的文件保存在文件夹中 (Python)

Python:如何将 .mp3 文件保存在 Android 上的“下载”文件夹中?