我在Unity3D中构建了一个应用程序,它应该能够在Microsoft HoloLens上检测蓝牙低能耗信标。这是我用来完成这项工作的Unity C#脚本代码。
using UnityEngine;
using Windows.Devices.Bluetooth.Advertisement;
public class BeaconDetector : MonoBehaviour
{
private BluetoothLEAdvertisementWatcher _watcher;
void Start()
{
_watcher = new BluetoothLEAdvertisementWatcher();
_watcher.Received += WatcherOnReceived;
_watcher.Start();
}
//This method should be called when a beacon is detected
void WatcherOnReceived(BluetoothLEAdvertisementWatcher sender, BluetoothLEAdvertisementReceivedEventArgs args)
{
//Just a simple check if this method is even called
Debug.Log("Beacon detected!");
}
}
该应用程序很好地构建并运行在HoloLens上,但是(即使等了几分钟后)我的调试日志中也没有得到所需的输出行。这对我来说意味着永远不会调用WatcherOnReceived()
方法,最终意味着没有检测到信标。
我使用了一些 Sensoro SmartBeacon-4AA ,可以传输iBeacon和Eddystone信号。
我现在已经尝试了几个星期,沿途做了几个教程,但我仍然无法弄清楚为什么这对我不起作用。
为了您的信息,我做了tutorial(以及其他),并且还遇到了Andreas Jakl的Universal Beacon Library。
答案 0 :(得分:3)