【问题标题】:Android get UUID(Services) of own bluetooth deviceAndroid获取自己的蓝牙设备的UUID(服务)
【发布时间】:2013-04-28 06:53:19
【问题描述】:

我正在创建一个应用程序,其中有一个模块,我想在其中检索我自己的蓝牙设备支持的服务... 目前我能够获取远程设备的 UUID,因为我还没有找到任何方法来检索我自己设备的 UUID。

提前致谢

【问题讨论】:

    标签: android bluetooth uuid


    【解决方案1】:

    经过一番挣扎,我终于找到了一种方法来找到自己的蓝牙设备的 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 浏览本地

    【讨论】:

    • Karan_Rana,您在哪个 android 版本上尝试过 sdptool ?我想知道它在 JB 上的工作是否从 JB 开始 bluez 被 Broadcomm 堆栈取代,而 sdptool 是 bluez 的一部分
    • 是的,这在 JB 中不可用,我在 ICS 上使用它
    猜你喜欢
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多