html5 – LocalFileSystem.PERSISTENT指向哪里?

前端之家收集整理的这篇文章主要介绍了html5 – LocalFileSystem.PERSISTENT指向哪里?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在PhoneGap中,我使用
window.requestFileSystem(LocalFileSystem.PERSISTENT,onFileSystemSuccess,fail);

访问文件系统.
在我的华硕平板电脑中,它没有外部SD卡(我没有插入任何可移动设备)所以我认为文件系统根指向内部SD卡.但是,在我的HTC Desire HD中,数据被写入外部SD卡. (因为数据只是驻留在microSD卡中.)

那真相是什么?我在W3C文档中看不到任何线索,也许我想念一些东西……

PS:Android版本都是ICS(冰淇淋三明治).

解决方法

PhoneGap的FileAPI虽然是为反映HTML5规范而设计的,但实际上是W3C文档的自定义实现. You can find the docs specific to their API here.虽然它几乎可以使用相同的,但在Web和每个设备上实现的方式之间存在一些细微差别.存储的位置就是其中之一.

为了了解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”的内容.

猜你在找的HTML5相关文章