2013-04-28 112 views

回答

0

最後很多的掙扎後,我發現了一個方法來找到自己的藍牙設備的UUID。 Sdptool提供了用於在藍牙設備上執行SDP查詢以及管理本地sdpd的界面。 代碼片段如下:此代碼僅適用於具有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地址。

或者你也可以嘗試usinf ADB shell中運行的SDP工具如下:

亞行外殼瀏覽的sdptool當地

+0

Karan_Rana,其上的Android版本沒有你試過sdptool可以?我想知道,如果它的工作在JB從JB以上bluez被broadcomm堆棧取代,sdptool是bluez的一部分 – ashish 2013-04-29 04:15:39

+0

是的這不會在JB中可用我在ICS上使用它 – 2013-04-29 06:23:30