StoreServicesFeedbackLauncher не работает - PullRequest
0 голосов
/ 19 ноября 2018

Начиная с Windows 10, версия 1809 (сборка 17763), запуск концентратора обратной связи из приложения UWP завершился со следующей ошибкой: -1073741819 (0xc0000005) «Нарушение доступа»

if (StoreServicesFeedbackLauncher.IsSupported())
{
      FeedbackRadioButton.Visibility = Visibility.Visible;
}

private async void LaunchFeedbackHub(object sender, RoutedEventArgs e)
{
    try
    {                
        var launcher = StoreServicesFeedbackLauncher.GetDefault();
        await launcher.LaunchAsync();
    }
    catch (Exception ex)
    {
        Debug.WriteLine(ex.Message);
    }
}

Имеется ссылка на Microsoft.Engagment.Framework и Microsoft.Services.Store.SDK установлена. Проблема возникает как в режиме отладки, так и в режиме выпуска.

Что бы это могло быть?

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Обновление 2/16: Microsoft изменила курс и исправила его в Microsoft.Services.Store.Engagement 10.1901.28001.


Оригинальный ответ:

Этот API общеизвестно ненадежен.

Если возможно, я рекомендую перейти на более простой протокол запуска . Ниже приведены некоторые примеры (которые вызывают тип активации по умолчанию URIFeedbackHome).

Концентратор обратной связи запуска:

feedback-hub:

Запустите центр обратной связи с [Категория: Приложения] и [Подкатегория: EarTrumpet]

feedback-hub://?appid=40459File-New-Project.EarTrumpet_1sdd7yawvg6ne!EarTrumpet

Запустить концентратор обратной связи с активной вкладкой «Профиль»

feedback-hub://?tabid=6

В настоящее время нет общедоступной информации о других более сложных сценариях (например, предоставление метаданных значения ключа, прикрепление снимков экрана и т. Д.).

0 голосов
/ 20 ноября 2018

Спасибо за ваш отзыв, я сообщил об этом соответствующей команде. Пожалуйста, обратите внимание на последующее обновление версии. В настоящее время вы можете использовать следующий wrokaround.

switch (AnalyticsInfo.VersionInfo.DeviceFamily)
{
    case "Windows.Mobile":

        await Launcher.LaunchUriAsync(new Uri("windows-feedback:?contextid=30"));
        break;
    case "Windows.Desktop":

        await Launcher.LaunchUriAsync(new Uri("windows-feedback:?contextid=143"));
        break;

    default:
        break;
}
...