Cordova / Phonegap文件插件搜索文件,对文档感到困惑

时间:2014-05-08 03:00:28

标签: android cordova

我对cordova的文件插件感到困惑,这是我的代码:

function checkIfFileExists(path){
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 10*1024*1024, function(fileSystem){
            fileSystem.root.getFile(path, { create: false }, fileExists, fileDoesNotExist);
        }, getFSFail);
}


checkIfFileExists("Framaroot-1.6.1.apk");
}

第一个问题:如果我更换" root"通过" sdcard" (就像文档https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md),它不起作用。当我阅读文档时,我明白我们可以做到这一点。我错了吗?

第二个问题:当我把" root",它起作用,但root不是sdcard,那么为什么函数会给我一个真正的搜索Framaroot apk(他在sdcard的根?)

第三:如果我想搜索已知目的地的特定文件,搜索/sdcard/Android/data/com/domain.myapp/目录中的文件test.txt的语法是什么?我使用" cdvfile" ?

1 个答案:

答案 0 :(得分:0)

这个问题有点陈旧,但我现在正在研究相同的领域。

我认为您的第一个问题是权限问题。文件插件文档(顺便说一下,这是非常残酷的)指向此Android dev page,它分别提到了对读写访问的READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE权限。如果您正在使用CLI,则必须在platforms/Android/AndroidManifest.xml文件中手动执行此操作,但如果您使用的是PhoneGap Build,则可以对可以复制的顶级config.xml文件进行调整阻止你:

<gap:config-file platform="android" parent="/manifest" overwrite="true">
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</gap:config-file>

请务必在config.xml文件的顶部添加<xmlnls> for android,以便在PG Build上正确解析:

<widget xmlns   = "http://www.w3.org/ns/widgets"
    xmlns:gap   = "http://phonegap.com/ns/1.0"
    xmlnls:android = "http://schemas.android.com/apk/res/android"
    ...>