Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MyFiles-以编程方式访问公共位置_Android_Android File_Android External Storage - Fatal编程技术网

Android MyFiles-以编程方式访问公共位置

Android MyFiles-以编程方式访问公共位置,android,android-file,android-external-storage,Android,Android File,Android External Storage,有许多问题与Intent和MyFiles应用程序(三星文件管理器)有关 我想做的是通过编程将文件放到一个合理的位置。例如,我想从我拥有并可以使用的数据库应用程序中导出CSV: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) 但这似乎最终指向了外部存储根目录之外的目录 ( /storage/emulated/0/Documents) 它是空的,不存在,与我的健康和充满热情的文件/文

有许多问题与Intent和MyFiles应用程序(三星文件管理器)有关

我想做的是通过编程将文件放到一个合理的位置。例如,我想从我拥有并可以使用的数据库应用程序中导出CSV:

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)

但这似乎最终指向了外部存储根目录之外的目录

 ( /storage/emulated/0/Documents) 
它是空的,不存在,与我的健康和充满热情的文件/文档相反。 而MyFiles有一个内置的快捷方式,可以访问一些隐藏在我还没有找到的不知名地方的文档目录。因此,三星善意地隐藏了文件系统的技术复杂性,但却没有为这位可怜的老应用程序设计师留下任何线索

是否有一种方法可以通过编程方式标识MyFiles\Documents目录的位置,更一般地说,标识预编程和用户指定的位置,以便我可以将文档放置在用户希望找到的位置,而不是分散在各个位置(在探索外部存储目录结构中的混乱时,通常会出现这种情况)


“但这似乎最终指向了外部存储的根源”——不应该。你是如何确定的?更新的问题谢谢你的评论,以帮助我更准确地回答。
                if (SpennyUtils.isExternalStorageWritable() && isStoragePermissionGranted(false)) {
                String temp = Environment.getExternalStoragePublicDirectory(
                        Environment.DIRECTORY_DOCUMENTS).getPath();
                Log.i(TAG, "Documents public dir: " + temp);
                createSubDirIfNotExists(temp);
                FileSaveDialog.Default_File_Name = "default.csv";
                Toast.makeText(RideListActivity.this, "Chosen FileOpenDialog File: " +
                        Environment.getExternalStoragePublicDirectory(
                                Environment.DIRECTORY_DOCUMENTS).getPath(), Toast.LENGTH_LONG).show();
                FileSaveDialog.chooseFile_or_Dir(Environment.getExternalStoragePublicDirectory(
                        Environment.DIRECTORY_DOCUMENTS).getPath());
            }