Windows phone 7 应用程序运行期间的wp7后台进程
我有一个项目,其中包括许多页。无论应用程序的情况如何,我都希望定期将信息导入数据库 我试图将代码放入App.xaml.cs中,但它只保存了一次数据(我将代码放入launching中,并在构造函数中进行了尝试。我的方法是获取设备id的位置,如下所示Windows phone 7 应用程序运行期间的wp7后台进程,windows-phone-7,backgroundworker,app.xaml,Windows Phone 7,Backgroundworker,App.xaml,我有一个项目,其中包括许多页。无论应用程序的情况如何,我都希望定期将信息导入数据库 我试图将代码放入App.xaml.cs中,但它只保存了一次数据(我将代码放入launching中,并在构造函数中进行了尝试。我的方法是获取设备id的位置,如下所示 void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) { Location loc = new GeoCo
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);
}
void watcher\u位置已更改(对象发送器,地理位置更改Deventargs e)
{
位置loc=新地理坐标(e.Position.Location.Latitude,e.Position.Location.经度);
//将数据发送到数据库
dclient.CreateUserLocationCompleted+=新事件处理程序(dclient\u CreateUserLocationCompleted);
dclient.CreateUserLocationAsync(1,位置纬度,位置经度);
}
我的观察者位置在构造器内部改变了
if (watcher == null)
{
watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High)
}
MovementThreshold = getSelectedDeviceLocationFrequencyFromInternalFolder();
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
watcher.Start();
if(观察者==null)
{
watcher=新的地理坐标记录器(地理位置精度高)
}
MovementThreshold=getSelectedDeviceLocationFrequencyFromInternalFolder();
watcher.PositionChanged+=新事件处理程序(watcher\u PositionChanged);
watcher.Start();
并在App.xaml.cs中全局定义
程序运行时,我如何能一直定期运行此线程?有其他方法吗?谢谢(总而言之,我想定期将位置数据插入数据库。)当应用程序启动时,您需要启动一个线程,该线程可以在任何时间休眠(或者在收到新值时,在收到应用程序的信号时醒来)并将数据写入其中的数据存储