gpt4 book ai didi

javascript - Android 上的 Cordova 文件 API : window. requestFileSystem 永远不会在设备上触发

转载 作者:行者123 更新时间:2023-11-28 07:09:34 26 4
gpt4 key购买 nike

我正在尝试在 Android 上开发一个简单的应用程序。我正在使用 Angular js 和 Cordova Visual studio。我需要保存一些数据(一个简单的xml)来保存数据,以供以后使用。我建立的唯一解决方案是使用 cordova 文件 api。

我在PhoneGap Build(插件面板)上添加了API,并尝试在空项目中使用文档中的代码进行学习,但是......在设备上,代码永远不会触发任何内容,我尝试在成功时添加一些对话框或者代码失败,但他们永远不会被解雇。然后我尝试在按钮上触发 window.requestFileSystem 但仍然没有任何反应。该命令可能会被忽略,我已经坚持了好几天了。

其他一些有用的信息:

  • 我使用了对话框 API,它的工作方式非常出色,因此我似乎能够正确安装 PhoneGap Build 中的插件。
  • 在波纹模拟器上,该代码总是引发错误,但似乎您无法在模拟器上测试该 api。

    这是我正在尝试工作的代码:

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
    }

    function gotFS(fileSystem) {
    fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail);
    }

    function gotFileEntry(fileEntry) {
    fileEntry.file(gotFile, fail);
    }

    function gotFile(file){
    readDataUrl(file);
    readAsText(file);
    }

    function readDataUrl(file) {
    var reader = new FileReader();
    reader.onloadend = function(evt) {
    console.log("Read as data URL");
    console.log(evt.target.result);
    };
    reader.readAsDataURL(file);
    }

    function readAsText(file) {
    var reader = new FileReader();
    reader.onloadend = function(evt) {
    console.log("Read as text");
    console.log(evt.target.result);
    };
    reader.readAsText(file);
    }

    function fail(error) {
    console.log(error.code);
    }

    </script>

我添加了弹出对话框,而不是设备中的控制台日志...但它们永远不会被解雇,没有成功,也没有失败。

我做错了什么?

任何帮助,我们将不胜感激!

提前致谢。

最佳答案

请确保您在 Android Manifest 文件中添加正确的存储访问权限。请浏览网页:http://developer.android.com/guide/topics/data/data-storage.html并在Manifest文件中添加权限

例如

<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>

关于javascript - Android 上的 Cordova 文件 API : window. requestFileSystem 永远不会在设备上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31428598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com