Win RT Windows Phone 8.1: элемент захвата зависает при удерживании кнопки возврата

У меня есть CaptureElement в моем приложении WP8.1, мой CaptureElement застрял на одном кадре, если я сделаю следующие шаги:

  1. Откройте ту страницу, которая имеет элемент захвата, он показывает мой предварительный просмотр камеры.
  2. Нажмите и удерживайте аппаратную кнопку возврата телефона. Последние приложения будут показаны на экране.
  3. Не нажимайте на какое-либо приложение, просто снова нажмите аппаратную кнопку "Назад" один раз.
  4. Я вернусь к экрану захвата элемента, но теперь при предварительном просмотре отображается последний кадр, когда я нажимаю и удерживаю кнопку возврата.

Я попробовал это на приложении камеры по умолчанию на телефоне, и оно работает нормально, но немного щелкает, кажется, что они справились.

Как я могу справиться с этим в моем приложении.

1 ответ

По интернету я узнал, что это приостанавливает работу приложения, поэтому мне приходится обрабатывать состояния приостановки. Просто добавив эти простые строки, он работал отлично:)

public MediaCapture()
{
    this.InitializeComponent();
    this.navigationHelper = new NavigationHelper(this);
    Application.Current.Resuming += App_resuming;
    Application.Current.Suspending += App_Suspending;
    Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}

async void App_Suspending(object sender, Windows.ApplicationModel.SuspendingEventArgs e)
{
    if (captureManager != null)
    {
        await captureManager.StopPreviewAsync();
        captureManager.Dispose();
        captureManager = null;
    }
}

private void App_resuming(object sender, object e)
{
    if (Frame.Content == this)
    {
        InitializeCamera();
    }
}
Другие вопросы по тегам