window.requestFileSystem(LocalFileSystem.PERSISTENT,onFileSystemSuccess,fail);
访问文件系统.
在我的华硕平板电脑中,它没有外部SD卡(我没有插入任何可移动设备)所以我认为文件系统根指向内部SD卡.但是,在我的HTC Desire HD中,数据被写入外部SD卡. (因为数据只是驻留在microSD卡中.)
那真相是什么?我在W3C文档中看不到任何线索,也许我想念一些东西……
PS:Android版本都是ICS(冰淇淋三明治).
解决方法
为了了解PhoneGap如何处理持久存储,我不得不深入研究Cordova源代码. This file here contains the methods used by the PhoneGap FileAPI.相关的代码块从第871行开始.基本上,API将调用Environment.getExternalStorageState().如果这返回Environment.MEDIA_MOUNTED,意味着存储removable or non-removable SD card,则API返回的FileSystem是已安装存储的根目录,使用Environment.getExternalStorageDirectory().这解释了您在具有内部和外部SD卡的设备之间看到的行为差异,两者都被系统视为已安装的外部存储.如果您遇到没有任何外部存储的设备,即!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED),返回的FileSystem的根将在internal storage中为“data / data / packageName”,类似于调用Context.getFilesDir( ),通常返回类似“data / data / packageName / files”的内容.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。