2014-10-08 68 views
1

我正试图访问windows phone的存储中的文件。我知道他们是完全独立的,因为一个是Windows Phone应用程序,另一个是Windows运行时组件。后台任务WP8 - 访问隔离存储

public void Run(IBackgroundTaskInstance taskInstance) 
    { 
     BackgroundTaskDeferral _defferal = taskInstance.GetDeferral(); 
     System.Diagnostics.Debug.WriteLine("Starting Offline Functionality"); 

     _defferal.Complete(); 
    } 

此方法在网络状态更改时运行。从这里我想访问手机存储。 有没有人以前做过这个,或者可以想到任何解决方法?

我在运行Visual Studio 2012年的Windows Phone 8.1

+0

你肯定能接入* LocalFolder *在* BackgroundTask *。 [在这里在MSDN](http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh758325.aspx)你应该找到一些帮助。 – Romasz 2014-10-08 14:43:42

+0

是的,你的权利。试图访问错误的东西。谢谢! – 2014-10-08 14:50:16

+0

请注意,Romasz的链接适用于运行时应用程序。 Silverlight应用程序的基础是相同的,但其中一些细节是不同的。 – 2014-10-08 14:59:02

回答

1

是的,可以。使用独立存储是在后台任务和前台应用程序之间传递数据的推荐方式。您可以使用互斥锁,以防止两个进程互相干扰,如果两个进程最终同时运行。

请参阅MSDN的Communication between foreground app and background agent和快速入门:Working with files and folders in Windows Phone 8

+0

我觉得OP混合WP8.0,8.1和BackgroundTask。尽管如此,两者的答案是相同的(+1)。你错过了*互斥体*中的字母'x'。我也不知道你是否有反对我纠正格式的答案。 – Romasz 2014-10-08 16:10:41

+1

谢谢。错字修正(我自动更正了一下:我会在我的字典中加入互斥体!)。将来,请随时根据需要修改拼写错误。 – 2014-10-08 18:01:06