cordova.file。*(所有目录)都为null
我正在开发Ionic移动应用程序开发。
我的要求是创建客户端记录器来跟踪应用程序中的问题。 我使用了https://github.com/pbakondy/filelogger中提到的方法,我可以在Android和iOS中创建日志文件。
我第一次打开应用程序时,会在cordova.file.dataDirectory中创建日志文件,当我在i * OS中关闭并重新打开应用程序时 ,我正在尝试读取使用该文件创建的文件的内容下面
$fileLogger.getLogfile().then(function (loggerContent) { var temp =loggerContent; });
但应用程序说
{ "applicationDirectory":null, "applicationStorageDirectory":null, "dataDirectory":null, "cacheDirectory":null, "externalApplicationStorageDirectory":null, "externalDataDirectory":null, "externalCacheDirectory":null, "externalRootDirectory":null, "tempDirectory":null, "syncedDataDirectory":null, "documentsDirectory":null, "sharedDirectory":null }
所以我无法找到我保存日志的文件。
请帮我解决这个问题,或者如果你可以推荐一种不同的方法来解决这个问题,那就太好了!
谢谢你的回答
这里有一个检查清单,应该可以解决您的问题:
1 – 确保已安装cordova-file-plugin并在您的测试环境中运行。
2 – 确保你的html和你的代码使用之前你的cordova.js文件是由你的代码引起的。
3 – 确保在device_ready状态后调用您的代码:检查一下
4 – 在短暂延迟后调用您的函数(在Javascirpt中使用setTimeOut)
Ali的第4项非常重要:我在不同的平台上遇到了类似的问题:cordova.file.dataDirectory为null。 我在生命周期中跟踪了cordova.file.dataDirectory,并且在设备就绪事件被触发之前,我的Ionic 2代码首先访问了它。 我的“错误”:我想在服务的构造函数(!)中加载数据。 似乎太早了。