У меня есть приложение 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 из настольного компьютера здесь