RequestAccessKindAsync от Desktop Bridge - PullRequest
       29

RequestAccessKindAsync от Desktop Bridge

0 голосов
/ 08 февраля 2019

У меня есть приложение Win32 для настольного моста, которое использует фоновые задачи для получения push-уведомлений от WNS.Я использую API фоновых задач UWP более C++-WinRT

. Я хотел бы иметь возможность получать push-уведомления, даже когда ОС находится в спящем режиме, чтобы она просыпалась и приложение обрабатывало push-уведомления.По умолчанию ОС не просыпается.Это было сделано только после ручного изменения значения настроек в System -> Battery -> See which apps are affecting your battery life -> Щелкните по моему приложению -> Снять отметку Let Windows decide (по умолчанию это всегда проверено) и отметьте Allow the app to run background taks.Теперь я хотел бы выполнить ручную работу над кодом для улучшения взаимодействия с пользователем.

RequestAccessKindAsync API позволяет пользователю изменять вышеуказанное значение настройки, отображая всплывающее уведомление для пользователя и яможет сделать это без проблем в UWP C# примере приложения.Но тот же код не показывает всплывающее уведомление от моего настольного моста через C++-WinRT.Он просто возвращает ложное значение для приведенного ниже кода

auto result = co_await BackgroundExecutionManager::RequestAccessKindAsync(BackgroundAccessRequestKind::AlwaysAllowed, 
    L"App needs to use background to catch push notifications while device is in sleep");

Кто-нибудь может подтвердить, что RequestAccessKindAsync API работает с настольного моста?Если нет, то как я могу убедиться, что ОС и приложение всегда смогут проснуться из спящего режима при получении push-уведомления?

UPD: повышенный запрос на включение этого API из настольного компьютера здесь

1 Ответ

0 голосов
/ 13 февраля 2019

Это недостающая функция.Когда мы разрабатывали этот API пару выпусков назад, мы не предполагали, что приложения для настольных мостов будут вызывать его, но, безусловно, есть варианты использования для поддержки этого.Я уведомил команду об этом пробеле, но я также рекомендую вам зарегистрировать запрос на добавление функции здесь: https://wpdev.uservoice.com/

Два возможных обходных пути:
(1) вы можете добавить фиктив/ пустое приложение переднего плана UWP для вашего настольного приложения моста.Затем вы можете запустить его при запуске и запросить фоновый доступ оттуда.Это будет немного уродливо, но вы можете сделать его похожим на заставку :-) (2) вы можете поручить пользователю зайти в приложение «Настройки», чтобы оно всегда было разрешено.Вы можете помочь им сделать это с помощью глубокой ссылки на настройки экономии заряда батареи, но им все равно придется вручную переключать переключатель.

...