Итак, представьте себе ситуацию, в приложении имеется 3 страницы:
Home->Section->Phones
Выше написаны переходы по этим страницам(из Home в Section, из Section в Phones).
Проблема в том что при попытке вызова звонка в Phones странице приложение просто закрывается, при вызове в Home или Section - все работает нормально. В чем может быть проблема?(не возможно вызвать звонок на третей вложенной странице приложения(любой))
Вызываю звонок так:
Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI(телефон, имя);
Может быть я передаю слишком сложный объект между страницами? Возможно надо передавать простые переменные??
Ответ
В общем, в который раз создаю вопрос и пока жду на него ответ сам решаю, все было достаточно просто, я передавал через NavigationState не сериализированные данные (не преобразованные к простому формату, например строке). Сериализация на передаче, и десериализация на приеме (в новой странице) решила данную проблему.
Сериализация:
private void ListView_ItemClick(object sender, ItemClickEventArgs e)
{
if (!Frame.Navigate(typeof(Views.Taxi.Cities.First), JsonConvert.SerializeObject(e.ClickedItem as StaticFBusesData)))
{
throw new Exception(this.resourceLoader.GetString("NavigationFailedExceptionMessage"));
}
}
Десериализация:
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
if (!isLoaded)
{
StaticFBusesData param = JsonConvert.DeserializeObject
Использовал Newtonsoft.Json библиотеку для работы с Json
Комментариев нет:
Отправить комментарий