当前位置:  开发笔记 > 前端 > 正文

LocalFileSystem.PERSISTENT指向哪里?

如何解决《LocalFileSystem.PERSISTENT指向哪里?》经验,为你挑选了1个好方法。

在PhoneGap中,我使用

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);

访问文件系统.
在我的华硕平板电脑中,它没有external sdcard(我没有插入任何可移动设备)所以我认为文件系统根指向internal sdcard.但是,在我的HTC Desire HD中,数据写入了external sdcard.(因为数据只存在于microSD卡中.)
那么真相是什么?我在W3C文档中看不到任何线索,也许我想念一些东西......

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



1> MattDavis..:

PhoneGap的FileAPI虽然是为反映HTML5规范而设计的,但实际上是W3C文档的自定义实现. 您可以在此处找到特定于其API的文档. 虽然它大多可以使用相同的,但在Web和每个设备上实现的方式之间存在一些细微差别.存储的位置就是其中之一.

为了了解PhoneGap如何处理持久存储,我不得不深入研究Cordova源代码. 此文件包含PhoneGap FileAPI使用的方法.相关的代码块从第871行开始.基本上,API将调用Environment.getExternalStorageState().如果返回Environment.MEDIA_MOUNTED,则意味着存储可移动或不可移动的SD卡,API返回的FileSystem是已安装存储的根目录,使用Environment.getExternalStorageDirectory().这解释了您在具有内部和外部SD卡的设备之间看到的行为差异,两者都被系统视为已安装的外部存储.如果您遇到没有任何外部存储的设备,即!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)返回的FileSystem的根将是内部存储中的 "data/data/packageName" ,类似于调用Context.getFilesDir(),它通常返回类似"data/data/packageName/files"的内容.


是.该行特别适用于临时存储,因此他们创建了缓存目录以表示该行.对于任何Android应用程序,PhoneGap或本机,"/ data/data/packageName"被创建为该应用程序文件的私有空间.在这种情况下,PhoneGap正在使用该目录.
推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有