后台任务 UWP - 使用数据传递对象
Posted
技术标签:
【中文标题】后台任务 UWP - 使用数据传递对象【英文标题】:Background Task UWP - Pass Object with Data 【发布时间】:2016-04-01 11:13:39 【问题描述】:我需要传递一个包含一些信息的对象,以便在我的后台任务中使用。我尝试在网上搜索,但没有找到任何解决方案。有可能吗?
一种解决方法是保存我需要在 MainProjet 中的隔离存储中传递的信息,并在我的 BackgroundTask 项目中使用之前保存的信息。但是这个解决方案使用起来并不美观。
有人帮帮我吗?
提前致谢
【问题讨论】:
除了具有与 UI 通信能力的媒体播放器之外,答案将是 similar as to this question - 您将不得不使用某种代理。 【参考方案1】:你可以使用 SendMessageToBackground 方法
var message = new ValueSet();
message.Add("key",value);
BackgroundMediaPlayer.SendMessageToBackground(message);
在后台任务中监听这个方法
public void Run(IBackgroundTaskInstance taskInstance)
BackgroundMediaPlayer.MessageReceivedFromForeground += BackgroundMediaPlayer_MessageReceivedFromForeground;
private void BackgroundMediaPlayer_MessageReceivedFromForeground(object sender, MediaPlayerDataReceivedEventArgs e)
foreach (string key in e.Data.Keys)
switch (key.ToLower())
【讨论】:
但这仅适用于 MediaPlayer,其他 BTask 需要某种代理。 @archana,我的后台任务只更新动态磁贴。与witd媒体播放器无关。谢谢以上是关于后台任务 UWP - 使用数据传递对象的主要内容,如果未能解决你的问题,请参考以下文章