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

时间:2016-05-23 07:39:10

标签: c# uwp bluetooth-lowenergy

我需要在后台运行BLE发现,并且需要在设备找到时显示吐司。这是使用UWPUI完成的。但我只需要后台应用程序。有什么办法吗?

2 个答案:

答案 0 :(得分:1)

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

enter image description here

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

您可以在以下链接中找到整个实施指南:

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

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

答案 1 :(得分:0)

Lukmanul Hakim,

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

  • BluetoothLEAdvertisementWatcher适用于Windows服务,单元测试项目和UWP软件包(具有正确的清单功能)。
  • 广告观察程序执行但不在WPF桌面应用程序和.net命令行程序中提供数据/事件。
  • 如您所知,UWP似乎需要恼人的用户界面,并且只能通过应用服务以有限的方式进行通信。
  • 在Windows服务中获得数据后,您可以在那里工作或使用常规IPC机制(如命名管道)与任何桌面应用程序进行通信。
  • 您需要安装Windows 10 SDK并通常在以下位置引用Windows运行时:C:\ Program Files(x86)\ Windows Kits \ 10 \ UnionMetadata \ Windows.winmd

此处参考是获取广告的基本代码:

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