c# - 如何使用 Windows 10 BLE API 宣传 Eddystone URL 框架

标签 c# bluetooth windows-10 eddystone

URL 框架规范:https://github.com/google/eddystone/tree/master/eddystone-url

我在宣传 Eddystone URL 框架时遇到问题。我正在使用以下代码,但 Eddystone 信标扫描仪无法识别它。

byte[] data;
string url = "http://test.com";

var urlSchemeByte = EddystoneUrlFrame.EncodeUrlScheme(url);
var header = new byte[] { 0xAA, 0xFE, 0x10 };
using (var memoryStream = new MemoryStream())
{
    memoryStream.Write(header, 0, header.Length);

    // ranging data
    memoryStream.WriteByte(220);

    memoryStream.WriteByte((byte)urlSchemeByte);
    EddystoneUrlFrame.EncodeUrlToStream(url,EddystoneUrlFrame.UrlSchemeDictionary[(byte)urlSchemeByte].Length,memoryStream);

    data = memoryStream.ToArray();
}

var writer = new DataWriter();
writer.WriteBytes(data);

var advertisementData = new BluetoothLEAdvertisementDataSection();
advertisementData.Data = writer.DetachBuffer();
publisher.Advertisement.DataSections.Add(advertisementData);

我做错了什么?

最佳答案

Eddystone URL 按照设计只支持 HTTPS。

http ://测试。 com 必须是 https://测试。 com

尝试一个 url shortener 并再次测试。 https://咕。 gl/

关于c# - 如何使用 Windows 10 BLE API 宣传 Eddystone URL 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33334157/

相关文章:

visual-studio - 如果最低版本和目标版本都设置为秋季创作者更新,为什么 Microsoft 模拟器不显示在 VS 中?

powershell - UWP 的 'Add-DevAppPackage' Powershell 脚本检查开发人员许可证。这是侧载的问题吗?

c# - 在 MVC 中使用 LocalDb 从 App_Data 文件夹中删除数据库时出现 "Cannot attach the file"错误?

c# - 如何从 web.config 的 system.net 部分读取 defaultProxy 设置的值?

C# Regex 查找由可能的空格分隔的两个逗号

android - 如何在没有用户输入的情况下创建 Android RFCOMM 套接字?

c# - 禁用 ASP.net TreeView 复选框

ios - 蓝牙输入到内置扬声器iOS 7

ios - iOS 上蓝牙的设备日志

selenium - 启动 : Windows opens many instances of Edge, 每个都带有 "ERROR:file_io_win.cc(180)] CreateFile settings.dat: Access is denied. (0x5)"