【问题标题】:Android: Get Bluetooth SDP Service NameAndroid:获取蓝牙 SDP 服务名称
【发布时间】:2014-12-16 03:19:39
【问题描述】:

Android 蓝牙 API 允许您使用以下方式注册 SDP 服务:

String BLUETOOTH_NAME="MyBluetoothService";
mAdapter.listenUsingRfcommWithServiceRecord(BLUETOOTH_NAME, UUID.fromString(uuid));

它还允许您在远程蓝牙设备上启动服务发现以查找活动服务 UUID 的列表:

device.fetchUuidsWithSdp();

但是,似乎没有任何公共方法可用于获取服务名称。可以通过其他方式获得吗?

【问题讨论】:

    标签: android bluetooth sdp


    【解决方案1】:

    我想你想获取设备上运行的服务的名称,就像在 linux 机器上一样

    sdptool 浏览本地 | egrep "服务名称:"

    所以答案是否定的,因为没有 Android API 方法并且 sdptool 不在 android 上。

    但是,您可以使用 NDK 编写一个包含相应函数的 c 库,并通过 JNI 调用该函数(参见http://people.csail.mit.edu/rudolph/Teaching/Articles/BTBook.pdf 上的第一个程序员蓝牙)。

    顺便说一句:为什么要按名称而不是按 UUID 列出服务。根据我的经验,服务名称与实现略有不同,而 UUIDS 是可信的。

    【讨论】:

    • 您好,感谢您的回答。我想这样做是因为我想利用服务名称来传递额外的信息(就像在常见的网络场景中处理 TXT 记录一样)
    猜你喜欢
    • 2011-02-15
    • 2017-07-24
    • 2012-10-11
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    相关资源
    最近更新 更多