BluetoothLEAdvertisementWatcher.Start 方法

定义

启动 BluetoothLEAdvertisementWatcher 扫描蓝牙 LE 广告。

public:
 virtual void Start() = Start;
void Start();
public void Start();
function start()
Public Sub Start ()

Windows 要求

应用功能
bluetooth

注解

当系统进入任何受支持的睡眠状态(如 S3 或 S4)时,蓝牙控制器将重置。 该重置周期会导致任何现有的蓝牙播发从队列中删除。 但是,如果你的应用在系统唤醒时仍然处于“处于打开状态”,则扫描将自动恢复;你的应用将收到新广告。

对于新式待机,系统可能会继续扫描,但应用可能不会收到广告。 这取决于各种因素,例如应用是否在 AppContainer 中运行、会话 0 服务是否为其他因素。 建议不要在现代待机会话期间扫描;相反,你的应用需要停止主动扫描,然后在系统本身恢复后恢复扫描。 在新式待机中停止扫描的应用程序可能会在新式待机状态中暂停其执行,导致系统恢复正常操作时返回到应用程序的过时播发队列。

GUID_MONITOR_POWER_ON 指示主系统监视器已打开或关闭,以便 在某些系统配置上 意味着新式待机。 但请注意,其主系统监视器关闭的系统可能并不总是进入新式待机状态。 例如,当监视器配置为空闲时关闭电源,但系统本身未配置为进入睡眠状态。

在 AppContainer(如会话 0 服务或 Win32 应用程序)外部运行的应用程序可以注册以获取电源事件的通知(请参阅 注册电源事件)来接收 WM_POWERBROADCAST 消息。 系统在暂停前不久发送 PBT_APMSUSPEND 消息。 恢复操作后,它会发送 PBT_APMRESUMEAUTOMATIC 消息。 此外,如果恢复是由用户输入触发的,则会发送另一条 PBT_APMRESUMESUSPEND 消息。

此方法将使用挂起的扫描请求立即将 BluetoothLEAdvertisementWatcher 转换为 启动 状态;如果请求因错误立即失败,则转换为 中止 状态。

如果在 停止 状态中调用此方法,则请求将被笔接,并且状态将保留在 停止 状态,直到请求完成,此时将发送新请求,状态将转换为 启动 状态。

当应用暂停时,BluetoothLEAdvertisementWatcher 将自动停止。

适用于

另请参阅