我想提醒用戶在GPS無法使用GPS查找中捕獲錯誤(基本上,當他們有斷緣祿服務)如何在WP7
以下是我查找case語句和我「已經注意到,在模擬器中我打的‘’狀態,所以我不能返回一個錯誤在這裏,因爲它仍然工作正常
void MyStatusChanged(GeoPositionStatusChangedEventArgs e)
{
switch (e.Status)
{
case GeoPositionStatus.Disabled:
client.ClientCallBackWithError("fail");
break;
case GeoPositionStatus.Initializing:
var y = "initializing location service,";
break;
case GeoPositionStatus.NoData:
// The location service is working, but it cannot get location data
// Alert the user and enable the Stop Location button
var z = "data unavailable,";
break;
case GeoPositionStatus.Ready:
var zzz = "receiving data, ";
break;
}
}
我的呼喚頁/視圖我決定也許我可以等待內部
所以10秒鐘,看看這是否被擊中或不。我可以只是拋出一個錯誤/等
警告龐大的黑客,因爲我失去希望
private void FindByGps_Click(object sender, RoutedEventArgs e)
{
gpsStarted = false;
gpsEnded = false;
progressHelper.StartProgressStuff(this.progress);
gpsStarted = true;
gpsLocationLookupService.StartLocationService();
this.Dispatcher.BeginInvoke(() => ListenForCallbackDuringGpsLookup(0));
}
private object ListenForCallbackDuringGpsLookup(int counter)
{
if (gpsStarted && !gpsEnded && counter < 12)
{
//keep looking until the timer runs out ...
counter = counter + 1;
this.Dispatcher.BeginInvoke(() => SleepForASec());
ListenForCallbackDuringGpsLookup(counter);
}
else if (gpsStarted && gpsEnded)
{
gpsStarted = false;
gpsEnded = false;
}else{
this.Dispatcher.BeginInvoke(() => SetCurrentLocationAndLaunchFindKiosks(null, "Failed to locate you by GPS"));
}
return null;
}
private object SleepForASec()
{
Thread.Sleep(1000);
return null;
}
但第二次我旋轉了一個線程,似乎直到線程的東西是完成鎖定應用程序。
所以我的問題 - 如何我應該陷入這種類型的GPS錯誤的東西,以提供正確的反饋?
嗯,這只是模擬器中的一個問題? (即,您是否在真實設備上測試過?)並且您是否在使用7.1 SDK的模擬器具有內置GPS仿真? –
有一個物理設備一個星期,但沒有測試這個深度,因爲我應該明顯。我將下拉7.1 SDK在那裏測試gps,但我打算最初發布7.0,所以我希望內置的gps比當前的SDK更好地工作 –
7.1仿真器可以很好地適用於7.0應用程序。但是芒果在不到一個月的時間內就被髮布了,你必須趕緊在之前發佈它:p –