LocalSettings 和后台任务 WP 8.1

Posted

技术标签:

【中文标题】LocalSettings 和后台任务 WP 8.1【英文标题】:LocalSettings and background tasks WP 8.1 【发布时间】:2015-03-22 16:16:13 【问题描述】:

如何使用后台任务更改 Windows.Storage.ApplicationData.Current.LocalSettings 中的值。我使用像后台任务这样的代码:

namespace MainTask

    public sealed class Task :IBackgroundTask
    
        public void Run(IBackgroundTaskInstance taskInstance)
        
            BackgroundTaskDeferral _deferral = taskInstance.GetDeferral();
            var storage = Windows.Storage.ApplicationData.Current.LocalSettings;
            int i = (int)storage.Values["var"];
            i++;

            storage.Values["val"] = i;

            _deferral.Complete();
        
    

后台任务已启动,调试器中有 livecycle 事件,它会读取存储。但是 Values["val"] 不会改变。

【问题讨论】:

【参考方案1】:
namespace MainTask

    public sealed class Task :IBackgroundTask
    
        public void Run(IBackgroundTaskInstance taskInstance)
        
            BackgroundTaskDeferral _deferral = taskInstance.GetDeferral();
            var storage = Windows.Storage.ApplicationData.Current.LocalSettings;
            int i = (int)storage.Values["var"];
            i++;

            storage.Values.Remove("val");
            storage.Values.Add("val", i);

            _deferral.Complete();
        
    

【讨论】:

以上是关于LocalSettings 和后台任务 WP 8.1的主要内容,如果未能解决你的问题,请参考以下文章

WP 8.1 中的后台任务运行不止一次

Windows Phone 8.1 后台任务 - 无法调试且不会触发

WP8.1 如何在 C# 中取消后台音频任务

推送通知后台任务崩溃 Windows Phone 8.1 模拟器/设备

WP7 GeoCoordinateWatcher 在后台

分析后台任务的内存使用情况