Android MyFiles - 以编程方式访问常用位置

时间:2017-01-06 20:29:18

标签: android android-file android-external-storage

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

我想要做的是以编程方式将文件放在合理的位置。例如,我想从我拥有的数据库应用程序中导出CSV,我可以使用:

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)

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

 ( /storage/emulated/0/Documents) 

这是空的,并不存在,而不是我的健康和充满热情的MyFiles / 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());
            }

0 个答案:

没有答案