问题很简单,但我真的找不到任何可以展示我想要实现的东西的样本,也许是我没有得到这个概念的人uwp应用程序(或windows / windows phone 8)中的后台任务。
我正在创建一个轮询某些数据(流量事件)的应用程序,并且希望即使他没有使用该应用程序也能够通知用户关闭的数据。所以我估计我会使用后台任务。 (我希望我能把这一部分弄好)。
所以在后台任务中,我设置为在15分钟的计时器上运行,在" InternetAvailable"的条件下,我异步获取数据并且一旦完成,我按要求填写延期对象。一切正常。
问题是,我应该使用什么对象来保存数据,以便在应用程序打开后我可以读取数据?
我已经尝试过WinJS.Application.sessionState但是一旦应用程序准备好(打开)就会丢失。
我已经尝试了Windows.Storage.ApplicationData.current.localSettings,但是它说类型不匹配,显然我试图在那里放置对象,如果预期String(我估计) ...
所以有人知道这里的最佳做法是什么?
谢谢
答案 0 :(得分:1)
您已完全访问WinRT API,因此您可以编写文件(并在打开应用程序后读取相同的文件):
function saveData(dataObj) {
var applicationData = Windows.Storage.ApplicationData.current;
var localFolder = applicationData.localFolder;
return localFolder.createFileAsync("dataFile.txt", Windows.Storage.CreationCollisionOption.replaceExisting).then(function (sampleFile) {
return Windows.Storage.FileIO.writeTextAsync(sampleFile, JSON.stringify(dataObj));
});
}