在cordova android應用程序中(滾動至設備,版本,插件列表底部,所有內容在撰寫本文時都處於最新狀態)我希望優先存儲文件放在外部SD卡上,如果SD卡不存在,則使用內部存儲器。我是我保存路徑設置爲:在android上使用cordova和file插件強制外部sdcard
persistentFS= cordova.file.externalDataDirectory||cordova.file.DataDirectory||fileSystem.root.toURL();
其最終的價值是文件:///storage/emulated/0/Android/data/com.fubar.app/files/,同cordova.file .externalDataDirectory。
我已設置: <access origin="cdvfile://*" /> ... <preference name="AndroidPersistentFileLocation" value="Compatibility" /> <preference name="AndroidExtraFilesystems" value="files-external,sdcard,files,documents,cache,cache-external,root" />
config.xml中 , <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在AndroidManifest.xml中,並設置各種魔法index.html中 安全的元標記。我補充說SD卡被插入,寫入使能,並且我確認我可以用 - 例如 - 文件管理器寫入它。它 包含Android/data/com.fubar.myapp/files /文件夾,因爲它應該。
無所不包:文件被寫入 - 並從內部設備存儲讀取。我已經閱讀了關於這個主題的所有谷歌搜索,但沒有任何東西讓我更接近任務(一些人建議使用文件系統根插件,但它似乎已被歸檔文件插件)。
任何提示? TIA, ALF
編輯:利用亞行外殼,我可以看到,該應用的外部SD卡的文件夾具有的絕對路徑:
`/storage/extSdCard/Android/data/com.fubar.myapp/files`
上
,並呼籲resolveLocalFileSystemURL file:///storage/extSdCard/Android/data/com.fubar.myapp/files
愉快成功。我不認爲這是要走的路,因爲這條路是依賴於設備的。
裝置:三星Galaxy標籤10.5,使用科爾多瓦5.3.1棒棒糖5.0.1,與插件: 科爾多瓦-插件裝置1.0.1 「設備」 科爾多瓦-插件的對話框1.1.1「通知「 科爾多瓦 - 插件文件3.0.0‘文件’ 科爾多瓦 - 插件 - 文件傳輸1.3.0‘文件傳輸’ 科爾多瓦 - 插件媒體1.0.1‘媒體’ 科爾多瓦 - 插件白名單1.1.0」白名單」
構建主機的Linux FC21
我能做到這一點科爾多瓦內,在JavaScript?如果我嘗試,上下文沒有定義,所以我會認爲它是你正在談論的Java API。 –