如何在下载目录中创建Android中所有用户都可见的文件?

如何在下载目录中创建Android中所有用户都可见的文件?,android,Android,我试图在运行时创建一个文件,并将其保存在下载目录中。正如你在下面的截图中看到的,我正在成功地创建文件,但是我无法查看它 在下面的代码中,我检查权限、创建文件、写入文件并关闭文件。之后,我打印下载目录的内容,这样我就可以确认文件是否已生成。是的 Log.d("DOM", Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) + ""); // check for permis

我试图在运行时创建一个文件,并将其保存在下载目录中。正如你在下面的截图中看到的,我正在成功地创建文件,但是我无法查看它

在下面的代码中,我检查权限、创建文件、写入文件并关闭文件。之后,我打印下载目录的内容,这样我就可以确认文件是否已生成。是的

        Log.d("DOM", Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) + "");

        // check for permission at runtime
        if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
            ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);

        // create new file in downloads dir with name test.json
        File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "test.json");

        if (!file.exists())
            file.createNewFile();

        file.setReadable(true, false);

        FileOutputStream fileOutputStream = new FileOutputStream(file);
        fileOutputStream.write("test string".getBytes());
        fileOutputStream.close();

        for (int i = 0; i < Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).listFiles().length; i++)
            Log.d("DOM", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).listFiles()[i].getAbsolutePath() + "");

此外,该应用程序只请求了一次权限。我想这正是应该发生的事情。

你是说你可以很好地读写文件,但你只是在下载应用程序中看不到?“查看计算机上的文件夹”是什么意思?我的意思是,我正在写入文件,没有错误,甚至在打印下载文件夹的内容时也可以看到它。问题是,就像你说的,我在下载应用程序中看不到它。我还试图通过将我的手机连接到我的电脑,并转到手机“内部存储器”上的下载目录来查找该文件。当我这样做时,我会看到下载的所有其他内容,但不会看到我的文件。下载应用程序只是显示应用程序下载的内容,而不是文件夹的全部内容。我不知道你们连在电脑上的情况。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
file.setReadable(true, false);