2011-01-07 206 views
3

我有目標藍牙設備的MAC-ID,並希望看看它是否在範圍內。我如何建立到目標設備的連接,如果我有它的ID並且處於隱藏模式?檢測隱藏的已知ID的藍牙設備

我爲此使用了bluecove(java)。

回答

5

我不確定您的意思是「隱藏模式」。您可以連接到不可發現的設備,但無法連接到不可連接的設備。

通常,使用JSR-82(或Bluecove,JSR-82實現),您需要有一個RemoteDevice對象才能打開連接。獲得RemoteDevice的唯一方法是通過設備搜索。看起來你不能在你的情況下進行設備搜索,因爲設備是「隱藏的」。

在Bluecove中,您會注意到RemoteDevice有一個受保護的構造函數,它帶有藍牙地址String。您可以創建RemoteDevice的子類,該子類只是簡單地將該構造函數公開。例如:

 
public class MyRemoteDevice extends javax.Bluetooth.RemoteDevice { 
    public MyRemoteDevice(String addr) { 
    super(addr); 
    } 
} 

然後,您可以創建一個實例的MyRemoteDevice,通過它已知的MAC地址,並用它來打開連接。

+1

這工作就像一個魅力,我在Android上使用bluecove客戶端應用程序和bluetoothserversocket進行測試。 – 2017-09-16 20:45:38