我对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" ?
答案 0 :(得分:0)
这个问题有点陈旧,但我现在正在研究相同的领域。
我认为您的第一个问题是权限问题。文件插件文档(顺便说一下,这是非常残酷的)指向此Android dev page,它分别提到了对读写访问的READ_EXTERNAL_STORAGE
和WRITE_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"
...>