小编sa_*_*uin的帖子

带有设备名称过滤器的 Android BLE 设备扫描不起作用

我正在使用设备名称过滤器连接到特定的 BLE 设备。但是我的扫描回调没有执行。当我使用 MAC 地址作为过滤器时,它工作正常。这是已知问题还是错误?我正在使用 Android 6.0 的华硕平板电脑进行测试。当我从设备名称数据库读取要使用的扫描过滤器时,我没有使用 MAC 地址的替代方法。

//这不起作用

    ScanFilter scanFilter = (new android.bluetooth.le.ScanFilter.Builder())
.setDeviceName(device_name).build();
Run Code Online (Sandbox Code Playgroud)

//这有效

ScanFilter scanFilter = new ScanFilter.Builder()
                                    .setDeviceAddress(dev_mac_address).build();
Run Code Online (Sandbox Code Playgroud)

android bluetooth-lowenergy android-bluetooth android-ble

7
推荐指数
0
解决办法
967
查看次数

在 Unix 中将 json 作为命令行参数传递

我正在尝试将 json 字符串作为命令行参数传递给 Unix 环境中的 C++ 应用程序。

.\SampleApp -j {\"speed\":\"15\",\"rpm\":\"100\",\"loc\":[\"-83.11\",\"42.11\"]}
Run Code Online (Sandbox Code Playgroud)

我在示例应用程序中使用 getopt() 函数来解析参数。在输出处我只收到速度:15。但是当我运行应用程序时

.\SampleApp -j \"speed\":\"15\",\"rpm\":\"100\",\"loc\":[\"-83.11\",\"42.11\"]
Run Code Online (Sandbox Code Playgroud)

有用。我的问题是如何将带有大括号的 json 字符串正确传递给应用程序。我尝试使用转义序列,\{但它不起作用。

c c++ unix json getopt

2
推荐指数
1
解决办法
2960
查看次数

在 C++ 中通过多个线程监视具有读写访问权限的共享变量

我正在寻找以下代码段的更好实现,以最大限度地减少 CPU 使用率。我有一个对多个线程具有读/写访问权限的变量,需要按如下方式进行监视。

while(true){
     mutex.lock();
     int flag = external_flag;
     mutex.unlock();
     if(flag == 3){
          break;
     }else if (flag == 4){   
          go to label;
     }
}
Run Code Online (Sandbox Code Playgroud)

c++ c++14

1
推荐指数
1
解决办法
73
查看次数