Android MyFiles-以编程方式访问公共位置
有许多问题与Intent和MyFiles应用程序(三星文件管理器)有关 我想做的是通过编程将文件放到一个合理的位置。例如,我想从我拥有并可以使用的数据库应用程序中导出CSV: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) 它是空的,不存在,与我的健康和充满热情的文件/文
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());
}