【发布时间】:2013-04-28 06:53:19
【问题描述】:
我正在创建一个应用程序,其中有一个模块,我想在其中检索我自己的蓝牙设备支持的服务... 目前我能够获取远程设备的 UUID,因为我还没有找到任何方法来检索我自己设备的 UUID。
提前致谢
【问题讨论】:
我正在创建一个应用程序,其中有一个模块,我想在其中检索我自己的蓝牙设备支持的服务... 目前我能够获取远程设备的 UUID,因为我还没有找到任何方法来检索我自己设备的 UUID。
提前致谢
【问题讨论】:
经过一番挣扎,我终于找到了一种方法来找到自己的蓝牙设备的 UUID。 Sdptool 提供了在蓝牙设备上执行 SDP 查询和管理本地 sdpd 的接口。 代码 sn-p 如下:此代码仅适用于具有 root 访问权限的设备。
try { System.setOut(new PrintStream(new FileOutputStream("/mnt/sdcard/abc.txt"))); System.out.println("HelloWorld1"); Process p; p = Runtime.getRuntime().exec(new String[] { "su", "-c","sdptool", "browse", "local" }); BufferedReader stdInput = new BufferedReader(new InputStreamReader( p.getInputStream())); String s; String res = ""; while ((s = stdInput.readLine()) != null) { if(s.contains("")) System.out.println(s); Log.e("above -----", s); } p.destroy(); return res; } catch (Exception e) { e.printStackTrace(); }
如果您想发现另一个蓝牙设备的服务,您可以将“本地”替换为远程设备的 MAC 地址。
或者你也可以尝试如下运行sdp工具usinf adb shell:
adb shell sdptool 浏览本地
【讨论】: