【Windows Phone 8】背景取得當前位置
前言:
繼上篇【取得所在位置】,雖然在應用程式中可執行,
但使用者將應用程式移至背景中就無法再取得當前位置,接下來實作接續前一篇範例。
參考【MSDN】
實作:
Step-1 在【App.xaml.cs】檔中建立全專案使用變數
說明:此變數用於判斷是否開始背景執行
Step-2 在【App.xaml】檔案下註冊背景執行時的事件
程式碼:
Step-3 在【App.xaml.cs】加入背景執行時的事件
說明:此事件發生於應用程式開始在背景執行時。
{
App.location = true;
}
Step-4 在【Properties】>【WMAppManifest.xml】右鍵【檢視程式碼】
找到【<DefaultTask Name="_default" NavigationPage="MainPage.xaml" />】這段替換為下列程式碼
<BackgroundExecution>
<ExecutionType Name="LocationTracking" />
</BackgroundExecution>
</DefaultTask>
{
Dispatcher.BeginInvoke(() =>
{
LatitudeTextBlock.Text = args.Position.Coordinate.Latitude.ToString("0.000000");
LongitudeTextBlock.Text = args.Position.Coordinate.Longitude.ToString("0.000000");
});
}
else
{
ShellToast toast = new ShellToast();
toast.Title = "位置:";
toast.Content = args.Position.Coordinate.Latitude.ToString("0.00") + ":" + args.Position.Coordinate.Longitude.ToString("0.00");
toast.Show();
}