В моем приложении на WP8 я работаю со всеми датчиками. Акселерометр, компас (из Windows.Devices.Sensors и из Microsoft.Devices.Sensors тоже) и инклинометр. Все работает нормально, пока я не нажму кнопку Windows и после этого Назад кнопка. Я получаю полный черный экран с «Возобновление ...» сообщение и ничего не происходит. Как только у меня возникло исключение (из 5 фейлора только один раз):WP8 приложение возобновляет работу с датчиками
{System.Runtime.InteropServices.SEHException: External component has thrown an exception.
at Microsoft.Devices.Sensors.SensorBase`1.PauseSensor()
at Microsoft.Devices.Sensors.SensorBase`1.<>c__DisplayClass7.<.ctor>b__4(Object sender, NotificationCallbackEventArgs args)
at Microsoft.Devices.Sensors.SensorCallback.MS.Internal.Interop.INotificationCallback.Pausing(XPauseType pauseType)
at MS.Internal.Interop.NotificationService.NotificationPausing(XPauseType pauseType)
at MS.Internal.FrameworkCallbacks.NotificationPausing(UInt32 pauseType)}
Был ли кто-то знаком с этим исключением?
Или существует лучшая практика, работающая правильно с датчиками во время жизненного цикла приложения wp8?
Thanks
Не могли бы вы объяснить, как передать диспетчеру VM в ваше решение? Спасибо. –
Извините за ответ так поздно. У меня есть собственный класс помощников-диспетчеров. Одиночный класс с методом регистрации Dispatcher, Register (Dispatcher d) и другого метода void Invoke (Действие a), который проверяет диспетчера, а если не является нулевым вызовом диспетчера.BeginInvoke (a), и я вызываю метод register в моем классе Bootstrapper. UiDispatcher.Instance.Register (RootFrame.Dispatcher), или вы вызываете его из MainView тоже или из другого места, где у вас есть диспетчер rootframe. Если не ясно, я отправлю его другим ответом. –