如何在没有 UI 的情况下使用 UWP 创建后台应用程序?

How to create a background application using UWP without UI?

我需要 运行 在后台进行 BLE 发现,并且需要在设备 found.This 使用 UWPUI 完成时显示 toast。但我只需要后台应用程序。有什么办法吗?

首先,我认为最好澄清一下,即使您想创建在后台运行的 UWP 应用程序,您也必须从 Visual Studio 中的模板创建普通的通用 Windows 应用程序:

每个 UWP 应用程序都可以注册后台任务来执行一些后台操作。

您可以在下面找到完整的实施指南 link:

https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task

后台任务必须由应用程序注册,因此没有应用程序无法仅创建后台任务。 另请记住,没有 UI 的应用程序将无法通过 Windows 商店认证。

卢克曼努哈金

我一直面临类似的问题,发现最好的方法是通过 windows 服务。特别是:

  • BluetoothLEAdvertisementWatcher 在 Windows 服务、单元测试项目和 UWP 包(具有正确的清单功能)中工作。
  • 广告观察器在 WPF 桌面应用程序和 .net 命令行程序中执行但不传送 data/events。
  • 如您所见,UWP 似乎需要烦人 UI,并且只能通过应用服务以有限的方式进行通信。
  • 一旦您在 windows 服务中获得数据,您就可以在那里工作或使用命名管道等常规 IPC 机制与任何桌面应用程序通信。
  • 您需要安装 Windows 10 SDK 并引用 windows 运行时,通常位于:C:\Program Files (x86)\Windows Kits\UnionMetadata\Windows。 winmd

获取广告的基本代码供参考:

 var watcher = new BluetoothLEAdvertisementWatcher(); 
 watcher.Received += OnAdvertismentReceived;                      
 watcher.Start();