如何找到文件下载到其中的android目录

时间:2018-05-13 02:36:10

标签: java android kotlin android-download-manager

我一直在制作一个从互联网下载文件的应用程序并保存存储我有2个问题:首先如何解决它将它们保存在downlod文件夹中,这是确切的地址?第二,这是" /data/user/0/com.example.moein.download_kotlin/files/Downloads/file.jpg"它现在正在使用的目录? 这是我的代码

            mainFetch = Fetch.Builder(applicationContext, "Download 1 file")
            .setDownloadConcurrentLimit(1) .
            .enableLogging(true)
            .build()

    //Single enqueuing example
    val request = Request("https://www.sample-videos.com/img/Sample-jpg-image-50kb.jpg",
            applicationContext.getFilesDir().getPath().toString() +"/Downloads/file.jpg")
    request.priority=Priority.HIGH;
    request.networkType=NetworkType.ALL
    request.addHeader("download", "2")

    mainFetch!!.enqueue(request, object : Func<Download> {
        override fun call(t: Download) {

        Toast.makeText(applicationContext,t.file,Toast.LENGTH_SHORT).show();
       //toasts /data/user/0/com.example.moein.download_kotlin/files/Downloads/file.jpg

        }
    }, object : Func<Error> {
        override fun call(t: Error) {
            Toast.makeText(applicationContext,t.toString(),Toast.LENGTH_SHORT).show();
        }
    })`

1 个答案:

答案 0 :(得分:1)

  

首先如何处理它以将它们保存在downlod文件夹中   确切地址?

使用以下内容:

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)

如果您要定位Andrpid 6.0及更高版本,请记住请求WRITE_EXTERNAL_STORAGE写入此目录,并READ_EXTERNAL_STORAGE从此目录中读取。用户需要授予这些权限,因此您必须实现权限模型。您可以按照此official tutorial来实现此目的。

  

第二个在哪里   &#34; /data/user/0/com.example.moein.download_kotlin/files/Downloads/file.jpg"   它现在正在使用的目录?

这是您的特定于应用程序的目录。保存到此文件的文件对您的应用是私有的,其他应用无法访问它们(除非用户具有root访问权限,否则用户也无法访问)。这使得内部存储成为用户不需要直接访问的内部应用数据的好地方。

但是我在三星设备上发现ES文件浏览器可以访问此目录。但是他们如何设法做到这一点很神秘。