【问题标题】:Windows UWP: Single Process Background Bluetooth Task Not TriggeringWindows UWP:单进程后台蓝牙任务未触发
【发布时间】:2018-12-07 19:41:33
【问题描述】:

我将蓝牙 LE 注册为分组后台任务,但我不确定为什么后台任务甚至没有触发。当我在 powershell 中检查“Get-AppBackgroundTask”时,它似乎已正确注册。这就是我注册任务的方式:

Guid bleServiceGuid = new Guid("xxxxxx-xxxx-xxxx-xxx-xxxxxx");

private void RegisterGroupedBackgroundTask(){
  BluetoothLEAdvertisementWatcherTrigger bleTrigger = new 
  BluetoothLEAdvertisementWatcherTrigger(); bleTrigger.AdvertisementFilter.Advertisement.ServiceUuids.Add(bleServiceGuid);
        bleTrigger.SignalStrengthFilter.InRangeThresholdInDBm = -65;
        bleTrigger.SignalStrengthFilter.OutOfRangeThresholdInDBm = -75;
        bleTrigger.SignalStrengthFilter.OutOfRangeTimeout = TimeSpan.FromMilliseconds(2000);
        bleTrigger.SignalStrengthFilter.SamplingInterval = TimeSpan.FromSeconds(1);

var bluetoothLeTask = BackgroundTasksConfiguration.RegisterBackgroundTask(null,
                                                  BackgroundTasksConfiguration.GroupedBackgroundTaskName,
                                                  bleTrigger,
                                                  null,
                                                  group);
}

问题是永远无法到达后台任务入口点:

  BackgroundTaskDeferral deferral = null;
  IBackgroundTaskInstance _taskInstance = null;

public void Run(IBackgroundTaskInstance taskInstance){

deferral = taskInstance.GetDeferral();
        _taskInstance = taskInstance;

var details = _taskInstance.TriggerDetails as Windows.Devices.Bluetooth.Background.BluetoothLEAdvertisementWatcherTriggerDetails; 
     if (details != null){

      //Get rssi values....
     }    
 }

当外部外围设备正在使用范围内的服务 guid 进行广告时,如何触发蓝牙文件后台任务?

【问题讨论】:

    标签: windows uwp bluetooth-lowenergy background-task


    【解决方案1】:

    得到这个工作......由于某种原因,如果我只是按广告服务 guid 过滤,应用程序不喜欢它。我必须按制造商数据过滤才能触发触发器:

     bleTrigger = new BluetoothLEAdvertisementWatcherTrigger();
            bleTrigger.AdvertisementFilter.Advertisement.ManufacturerData.Add(new BluetoothLEManufacturerData()
            {
                CompanyId = 76 // Apple Bluetooth SIG 
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      相关资源
      最近更新 更多