首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LocalFileSystem.PERSISTENT指向哪里?

LocalFileSystem.PERSISTENT指向哪里?
EN

Stack Overflow用户
提问于 2013-05-06 21:07:57
回答 1查看 10.5K关注 0票数 9

在PhoneGap中,我使用

代码语言:javascript
复制
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);

来访问文件系统。

在我的华硕平板电脑中,它没有external sdcard(我没有插入任何可移动设备),所以我认为文件系统根指向internal sdcard。然而,在我的HTC Desire HD中,数据是写入external sdcard的。(因为数据只驻留在microSD卡中。)

那么事实是什么呢?我在W3C文档中看不到任何线索,也许我遗漏了什么……

PS:两个android版本都是ICS(冰激凌三明治)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-06 23:26:02

虽然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,则该接口返回的FileSystem是挂载存储的根目录,使用Environment.getExternalStorageDirectory()。这解释了您在具有内部和外部SD卡的设备之间看到的行为差异,两者都被系统视为挂载的外部存储。如果您遇到没有任何外部存储的设备,即!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED),则返回的FileSystem的根将是internal storage中的"data/data/packageName“,类似于调用Context.getFilesDir(),它通常返回类似于"data/data/packageName/files”的内容。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16399465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档