在android上,在何处写入外部文件,以便用户可以将其作为USB连接设备找到
假设一个设备运行棉花糖(API 23),我的应用程序使用 getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS) getExternalFilesDir(环境.目录\u文档) 并且设备上显示的路径(在用户屏幕中)是:在android上,在何处写入外部文件,以便用户可以将其作为USB连接设备找到,android,storage,external,environment,Android,Storage,External,Environment,假设一个设备运行棉花糖(API 23),我的应用程序使用 getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS) getExternalFilesDir(环境.目录\u文档) 并且设备上显示的路径(在用户屏幕中)是: /storage/emulated/0/Android/data//文件/文档// 并且用户创建的文件存在于该目录中 当我转到Windows资源管理器(设备连接为USB)时,我看到: \Card\Android\data\\fil
/storage/emulated/0/Android/data//文件/文档//
并且用户创建的文件存在于该目录中
当我转到Windows资源管理器(设备连接为USB)时,我看到:
\Card\Android\data\\files\Documents
而那个目录是空的强>
我试图实现的目标似乎很简单:
允许用户保存一个文件,当作为USB设备连接时,可通过PC访问该文件,该文件位于一致且直观可见的路径(如注明的装入点)
然而,很明显在某个地方存在着脱节,所以我正在寻求帮助
更让人困惑的是,在API 19上运行模拟器时,同样的函数返回
/storage/sdcard/Android/data/<app>/files/Documents/<dir>/myfile.xml
/storage/sdcard/Android/data//files/Documents//myfile.xml
最后,如果预期的行为是相同的,无论是哪一个设备级别,这将是非常好的-因此,例如,文档可以准确地显示设备屏幕和Windows资源管理器上预期的内容。您想写入
安卓/data/
的任何原因?你试过选择不同的位置吗?@cricket_007我希望继续使用平台返回的任何函数,如getExternalFilesDir()或六个类似函数之一。看起来@commonware为这个问题提供了一个有趣的解决方案——我将添加媒体扫描工具并发回。
<mount point>\Card\Android\data\<app>\files\Documents
/storage/sdcard/Android/data/<app>/files/Documents/<dir>/myfile.xml