应用程序运行期间的wp7后台进程

时间:2012-05-10 15:22:09

标签: windows-phone-7 backgroundworker app.xaml

我有一个包含很多页面的项目。无论我的应用程序是什么情况,我都想定期将信息导入我的数据库。

我试图将我的代码放在App.xaml.cs中,但它只保存了一次数据(我将它放入启动并在构造函数中尝试。我的方法是获取设备ID的位置,就像

void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    Location loc = new GeoCoordinate(e.Position.Location.Latitude, e.Position.Location.Longitude);

    //Send Data to Database
    dclient.CreateUserLocationCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(dclient_CreateUserLocationCompleted);
    dclient.CreateUserLocationAsync(1, loc.Latitude, loc.Longitude);
} 

并且我的观察者位置已更改在构造函数内。

if (watcher == null)
{
    watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High)
}

MovementThreshold = getSelectedDeviceLocationFrequencyFromInternalFolder();

watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
watcher.Start();

并在App.xaml.cs

中全局定义

如何在程序运行时定期运行此程序?还有其他方法吗?谢谢(总结一下,我想定期将位置数据插入我的数据库。)

1 个答案:

答案 0 :(得分:0)

当应用程序启动时,您需要启动一个线程,以便在任何时间内休眠(或从应用程序唤醒信号 - 收到新值时)并将数据写入其中的数据存储区