cordova.file.*(所有目录)为空

cordova.file.* (all directories) are 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-确保 cordova.js 文件在您的代码使用之前被您的 html 引用。

3-请务必在 device_ready 状态后调用您的代码: 检查 this

4-短暂延迟后调用您的函数(在 Javascirpt 中使用 setTimeOut)

阿里的第4条很重要: 我在不同的平台上遇到了类似的问题:cordova.file.dataDirectory 为空。 我在整个生命周期中跟踪了 cordova.file.dataDirectory,在设备就绪事件被触发之前,我的 Ionic 2 代码首先访问了它。 我的 "mistake":我想在服务的构造函数(!)期间加载数据。似乎太早了。