繁体   English   中英

BLE设备名称不可检索

[英]BLE Device Name irretrievable

我有一个项目正在扫描在BLE上运行的信标。

我可以扫描信标,并在一个不错的自定义ListView列出它们,就好了。 但是,检索它们的名称似乎不起作用。

在我的OnLeScan回调中,我使用device.getName()似乎总是返回null?

此外,当我尝试根据这篇文章解析ScanRecord byte []数组以获取数据时,我还是不太走运。 有什么想法/提示吗?

我应该从BluetoothDevice类中检索本地名称吗? 我应该从解析ScanRecord/ScanResult类中检索它吗?

这是我的onLeScan的样子:

public void onLeScan(final BluetoothDevice device, int rssi, final byte[] scanRecord) {

                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {

                        Log.v(device.getName(),device.getName());
                            mLeDeviceListAdapter.addDevice(device);
                            mLeDeviceListAdapter.notifyDataSetChanged();
                        }


                    }
                });
            }

编辑:

我试图对链接后的代码进行一些修改。 添加一个案例0x08:如注释中所建议。 但是,默认情况下,我的ListView仍将所有找到的设备都列为“未知设备”,并且不会检索友好名称。

请参阅此答案以了解iBeacon广告包的细分。 没有名字

官方规格仅可通过Apple的MFi程序获得。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM