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代码首先访问了它。 我的“错误”:我想在服务的构造函数(!)中加载数据。 似乎太早了。