将下载的文件保存到Android DIRECTORY_DOCUMENTS

时间:2018-08-01 04:27:48

标签: android-studio directory download-manager

我是Android新手,我想将下载的Pdf文件保存到“ DIRECTORY_DOCUMENTS”,因为当我保存到downloads文件夹时,它没有在我的应用程序中显示该应用程序。 这是代码(当我转到其他目录并将pdf放入其中时,它可以工作。)

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

    final ListView lv = findViewById(R.id.lv);
    lv.setAdapter(new CustomAdapter(MainActivity.this, getPDFs()));
}

private ArrayList<PDFDoc> getPDFs()

{
    ArrayList<PDFDoc> pdfDocs = new ArrayList<>();
    //TARGET FOLDER
    File downloadsFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);

    PDFDoc pdfDoc;

    if (downloadsFolder.exists()) {
        //GET ALL FILES IN DOWNLOAD FOLDER
        File[] files = downloadsFolder.listFiles();

        //LOOP THRU THOSE FILES GETTING NAME AND URI
        for (File file : files) {
            if (file.getPath().endsWith("pdf")) {
                pdfDoc = new PDFDoc();
                pdfDoc.setName(file.getName());
                pdfDoc.setPath(file.getAbsolutePath());

                pdfDocs.add(pdfDoc);
            }
        }
    }

    return pdfDocs;
}

}

1 个答案:

答案 0 :(得分:0)

您正在获取所有PDF文件。我没有任何下载文件的方法。没关系。如果您下载了新文件却看不到,请尝试调用此方法

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file));
sendBroadcast(intent);