public async void NextStepAsync(string Value) { bool functionFirstIn = false; lock (firstOpenLock) if (firstOpen) { firstOpen = false; functionFirstIn = true; } if (functionFirstIn) { switch (receiveStr) { case "同步": bool IsSave = false; string[] Data = Value.Split("}.{"); var ServerData = ServerAPI.GetDataFromServer(Data[0]); if (ServerData.Item1) { string BLJson = JsonConvert.SerializeObject(new { BeaconInformation = JsonConvert.SerializeObject(ServerData.Item2), LaserPointerInformation = JsonConvert.SerializeObject(ServerData.Item3) }); if (await LocalStorage.WriteToFileAsync(Data[1], BLJson)) { IsSave = true; } } if (IsSave) { await CleanupMediaCaptureAsync(); ShowContentDialog(true); } else { lock (firstOpenLock) firstOpen = true; ShowContentDialog(false); } break; default: if (PointPage.BeaconInformations.Where(c => c.Id.ToString() == Value).Count() > 0) { await CleanupMediaCaptureAsync(); Frame.Navigate(typeof(LBeaconInfoPage), Value); } else { lock (firstOpenLock) firstOpen = true; } break; } } }