У меня есть настольное мостовое приложение 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
. Теперь я хотел бы сделать это вручную над кодом для лучшего взаимодействия с пользователем.
API RequestAccessKindAsync позволяет пользователю чтобы изменить указанное выше значение параметра, показав всплывающее уведомление пользователю, и я мог бы сделать это без проблем в примере приложения 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 с рабочего стола здесь